從瀏覽器輸入url到頁面顯示發生了什麼

當在瀏覽器地址欄輸入網址,如:www.baidu.com後瀏覽器是怎麼把最終的頁面呈現出來的呢?這個過程可以大致分爲兩個部分:網絡通信和頁面渲染。

 

TCPIP

如果嚴謹一點則還有一層物理層進行字節流的傳遞。

 

1. 在瀏覽器中輸入url

 

用戶輸入url,例如http://www.baidu.com。其中http爲協議,www.baidu.com爲網絡地址,及指出需要的資源在那臺計算機上。一般網絡地址可以爲域名或IP地址,此處爲域名。使用域名是爲了方便記憶,但是爲了讓計算機理解這個地址還需要把它解析爲IP地址。

用戶輸入url,例如http://www.baidu.com。其中http爲協議,www.baidu.com爲網絡地址,及指出需要的資源在那臺計算機上。一般網絡地址可以爲域名或IP地址,此處爲域名。使用域名是爲了方便記憶,但是爲了讓計算機理解這個地址還需要把它解析爲IP地址

2.應用層DNS解析域名

        客戶端先檢查本地瀏覽器緩存或者路由器緩存中是否有對應的IP地址,若找到則返回響應的IP地址。

若沒找到則請求DNS服務器獲取IP地址。

 

3.應用層客戶端發送HTTP請求

        發送HTTP請求,將請求的數據信息發到對應IP的服務器中。

4.傳輸層TCP傳輸報文

        通過TCP協議將傳輸的數據分成多個數據包,病通過三次握手建立客戶端和服務端的連接狀態進行傳輸數據。

 

TCP

5.網絡層IP協議查詢MAC地址

         IP協議的作用是把TCP分割好的各種數據包傳送給接收方。而要保證確實能傳到接收方還需要接收方的MAC地址,也就是物理地址。IP地址和MAC地址是一一對應的關係,一個網絡設備的IP地址可以更換,但是MAC地址一般是固定不變的。ARP協議可以將IP地址解析成對應的MAC地址。當通信的雙方不在同一個局域網時,需要多次中轉才能到達最終的目標,在中轉的過程中需要通過下一個中轉站的MAC地址來搜索下一個中轉目標。(通過IP協議和ARP協議找到服務器IP對應的MAC物理地址)

6.數據到達數據鏈路層

在找到對方的MAC地址後,就將數據發送到數據鏈路層傳輸。

 

7.數據轉成字節流在物理層中傳輸到服務器的物理層。

 

數據鏈路層的數據通過物理層傳到服務器的物理層。

8.服務器接收數據

服務器的物理層接受到數據後,自下而上進行數據的傳遞,數據經過TCP的數據包重組成HTTP報文傳到服務器程序中。

9.服務器進行處理

服務器接受到HTTP請求後對其數據進行邏輯處理和存儲,並將需要返回的數據封裝在HTTP報文中通過同樣的網絡通信方式返回給客戶端。

10. 客戶端收到返回報文進行解析和顯示

 

客戶端收到了服務器發回的HTTP報文,對報文進行解析,將解析的結果渲染到客戶端的瀏覽器中。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章