HTTP協議通訊過程

2021-08-31 20:31:44 字數 1151 閱讀 1123

http協議通訊過程 

當我們在瀏覽器的位址列輸入「www.baidu.com」然後按回車,這之後發生了什麼事,我們直接看到的是開啟了對應的網頁,那麼內部客戶端和服務端是如何通訊的呢? 

1、      1、url自動解析 

http url包含了用於查詢某個資源的足夠資訊,基本格式如下:http://host[「:」port][abs_path],其中http表示桶蓋http協議來定位網路資源;host表示合法的主機網域名稱或ip位址,port指定乙個埠號,預設80;abs_path指定請求資源的uri;如果url中沒有給出abs_path,那麼當它作為請求uri時,必須以「/」的形式給出,通常這個工作瀏覽器自動幫我們完成。 

例如:輸入www.163.com;瀏覽器會自動轉換成: 

2、獲取ip,建立tcp連線 

瀏覽器位址列中輸入""並提交之後,首先它會在dns本地快取表中查詢,如果有則直接告訴ip位址。如果沒有則要求閘道器dns進行查詢,如此下去,找到對應的ip後,則返回會給瀏覽器。 

當獲取ip之後,就開始與所請求的tcp建立三次握手連線,連線建立後,就向伺服器發出http請求。 

3、客戶端瀏覽器向伺服器發出http請求 

一旦建立了tcp連線,web瀏覽器就會向web伺服器傳送請求命令,接著以頭資訊的形式向web伺服器傳送一些別的資訊,之後瀏覽器傳送了一空白行來通知伺服器,它已經結束了該頭資訊的傳送。 

4、web伺服器應答,並向瀏覽器傳送資料 

客戶機向伺服器發出請求後,伺服器會客戶機回送應答, 

應答的第一部分是協議的版本號和應答狀態碼,正如客戶端會隨同請求傳送關於自身的資訊一樣,伺服器也會隨同應答向使用者傳送關於它自己的資料及被請求的文件。 

web伺服器向瀏覽器傳送頭資訊後,它會傳送乙個空白行來表示頭資訊的傳送到此為結束,接著,它就以content-type應答頭資訊所描述的格式傳送使用者所請求的實際資料 

5、web伺服器關閉tcp連線 

一般情況下,一旦web伺服器向瀏覽器傳送了請求資料,它就要關閉tcp連線,然後如果瀏覽器或者伺服器在其頭資訊加入了這行** 

connection:keep-alive 

tcp連線在傳送後將仍然保持開啟狀態,於是,瀏覽器可以繼續通過相同的連線傳送請求。保持連線節省了為每個請求建立新連線所需的時間,還節約了網路頻寬。

HTTP協議通訊過程

http協議通訊過程 當我們在瀏覽器的位址列輸入 www.baidu.com 然後按回車,這之後發生了什麼事,我們直接看到的是開啟了對應的網頁,那麼內部客戶端和服務端是如何通訊的呢?1 1 url自動解析 http url包含了用於查詢某個資源的足夠資訊,基本格式如下 http host port ...

HTTP協議通訊過程

當我們在瀏覽器的位址列輸入 www.baidu.com 然後按回車,這之後發生了什麼事,我們直接看到的是開啟了對應的網頁,那麼內部客戶端和服務端是如何通訊的呢?1 1 url自動解析 http url包含了用於查詢某個資源的足夠資訊,基本格式如下 http host port abs path 其中...

HTTP協議通訊過程

當我們在瀏覽器的位址列輸入 www.baidu.com 然後按回車,這之後發生了什麼事,我們直接看到的是開啟了對應的網頁,那麼內部客戶端和服務端是如何通訊的呢?1 1 url自動解析 http url包含了用於查詢某個資源的足夠資訊,基本格式如下 http host port abs path 其中...