1. 程式人生 > >在瀏覽器中輸入網址之後會發生什麼

在瀏覽器中輸入網址之後會發生什麼

1. 瀏覽器將域名解析為IP地址

(1)先到瀏覽器快取記錄中查詢
(2)如果沒有則到路由器快取DNS記錄中查詢
(3)沒有則傳送請求到本地域名伺服器,
     每一個本地域名伺服器都維護一個快取記憶體,存放最近用過的域名及IP地址
(4)如果還沒有則向根域名伺服器發出遞迴查詢,並依次從根域查詢頂級域,
    頂級域查詢而二級域,二級域查詢三級域,直到找到解析的地址。
    通過這個IP地址可以找到客戶端到服務端的唯一路徑。

2.瀏覽器傳送一個HTTP請求報文

在客戶端傳輸層向HTTP報文新增源和目的埠到首部,封裝為TCP報文段,
傳入網路層,伺服器使用的是80埠監聽客戶端的請求。

3. 網路層將伺服器的IP地址新增到首部

將TCP報文段封裝成IP資料報。通過路由器的路由和轉發功能確定資料通過
哪個路徑到達伺服器。

4.資料鏈路層

資料鏈路層將IP資料報新增MAC地址到首部封裝成幀,
幀傳到伺服器所在的區域網時通過ARP地址解析協議找到對應的MAC地址的伺服器。
【這裡要說一下ARP地址歇息協議的原理】
(1)每一臺主機都會在ARP cache緩衝區建立一個ARP表格,
     用來記錄IP位置和實體(MAC)位置的對應關係,
     以確保資料的真實性
(2)當傳送主機要傳送資料包給目的主機的時候,會檢查自己的ARP列表
     中是否存在該IP地址對應的MAC地址,如果有,直接將資料包傳送到這個MAC
     地址,如果沒有,就向本地網路發起一個ARP請求的廣播包,查詢目的主機
     對應的MAC地址。此ARP請求資料包裡包括源主機的IP地址,
     硬體地址,以及目的主機的IP地址。
(3
)網路中所有主機收到這個請求之後,會檢查資料包中的目的IP是否和自 己的IP地址一致。如果不相同就忽略此資料包,如果相同,該主機首先 將發端的MAC地址和IP地址新增到自己的ARP列表中,如果ARP列表中已經 存在該IP資訊,則將其覆蓋,然後給源主機發送一個ARP相應資料包, 告訴對方自己是他需要查詢的MAC地址,源主機收到這個ARP響應資料包後,將得到的目的主機的IP地址和MAC地址新增到自己的ARP列表中, 並利用此資訊開始資料傳輸,如果源主機一直沒有收到ARP的 響應資料包,表示ARP查詢失敗【廣播發送ARP請求,單播發送ARP響應】

5.伺服器收到幀之後一層一層解封裝

得到HTTP的請求報文,伺服器根據請求報文的資訊,產生HTTP響應報文,
及那個資料傳送到瀏覽器。

6.瀏覽器最終使用HTML解析器

來解析HTTP響應報文實體主體裡的各種資源,最終呈現頁面出來