1. 程式人生 > >瀏覽器輸入網址後發生了什麼

瀏覽器輸入網址後發生了什麼

 

主要有以下幾個部分:(簡單的說)

1 DNS解析,獲取Web伺服器IP地址          (關於DNS解析 點此進入博主的另一篇文章

2 建立TCP連線

3 向Web伺服器傳送HTTP請求

4 Web伺服器收到請求並處理

5 Web伺服器返回響應(發回一個HTML響應)

6 瀏覽器對響應解碼,並顯示資料

7 頁面顯示完成後,瀏覽器傳送非同步請求

8 關閉TCP連線

 


具體的來說

第一步:在瀏覽器中輸入www.baidu.com後,應用層會使用DNS解析域名,如果本地存有對應的IP,則使用;如果沒有,則會向上級DNS伺服器請求幫助,直至獲得IP。域名解析詳細過程會在下文講到。

第二步:應用層將請求的資訊裝載入HTTP請求報文,資訊包含了請求的方法(GET / POST)、目標url、遵循的協議(http / https / ftp…)等,然後應用層將發起HTTP請求。

第三步:傳輸層接收到應用層傳遞下來的資料,並分割成以報文段為單位的資料包進行管理,併為它們編號,方便伺服器接收時能準確地還原報文資訊。通過三次握手和目標埠建立安全通訊。

第四步:網路層接收傳輸層傳遞的資料,根據IP通過ARP協議獲得目標計算機實體地址—MAC。當通訊的雙方不在同一個區域網時,需要多次中轉才能到達最終的目標,在中轉的過程中需要通過下一個中轉站的MAC地址來搜尋下一個中轉目標。

第五步:找到目標MAC地址以後,就將資料傳送到資料鏈路層,這時開始真正的傳輸請求資訊,傳輸完成以後請求結束。

第六步:伺服器接收資料後,從下到上層層將資料解包,直到應用層。

第七步: 伺服器接收到客戶端傳送的HTTP請求後,查詢客戶端請求的資源,將資料裝載入響應報文並返回,響應報文中包括一個重要的資訊——狀態碼,如200,404,500。