1. 程式人生 > >面試必考 瀏覽器輸入URL後面究竟發生了什麼

面試必考 瀏覽器輸入URL後面究竟發生了什麼

1.將域名傳輸至DNS伺服器

2.DNS伺服器進行解析

瀏覽器如何通過域名去查詢 URL 對應的 IP 呢

1 瀏覽器的快取 2 作業系統的快取 3 路由的快取

ISP的dns伺服器進行遞迴查詢

瀏覽器通過向 DNS 伺服器傳送域名,DNS 伺服器查詢到與域名相對應的 IP 地址,然後返回給瀏覽器,瀏覽器再將 IP 地址打在協議上,同時請求引數也會在協議搭載,然後一併傳送給對應的伺服器。接下來介紹向伺服器傳送 HTTP 請求階段,HTTP 請求分為三個部分:TCP 三次握手、http 請求響應資訊、關閉 TCP 連線。

3.TCP的三次握手 與伺服器建立聯絡

TCP 三次握手的過程如下:

  • 客戶端傳送一個帶 SYN=1,Seq=X 的資料包到伺服器埠(第一次握手,由瀏覽器發起,告訴伺服器我要傳送請求了)
  • 伺服器發回一個帶 SYN=1, ACK=X+1, Seq=Y 的響應包以示傳達確認資訊(第二次握手,由伺服器發起,告訴瀏覽器我準備接受了,你趕緊傳送吧)
  • 客戶端再回傳一個帶 ACK=Y+1, Seq=Z 的資料包,代表“握手結束”(第三次握手,由瀏覽器傳送,告訴伺服器,我馬上就發了,準備接受吧)

    3次握手的意義:為了防止已失效的連線請求報文段突然又傳送到了服務端.

 4.每臺伺服器上都會安裝處理請求的應用——web server。常見的 web server 產品有 apache、nginx、IIS 或 Lighttpd 等。

傳送http 請求

5、伺服器處理請求並返回 HTTP 報文

隨後資料傳送完畢 斷開連結.

6.瀏覽器獲取到html後渲染頁面

7.TCP斷開連結 4次握手

https://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651555392&idx=1&sn=9042c990f82fe5d03f03e6af7536b4c3&chksm=80255181b752d897524a6f1ee332f245761c89a5e01d0cbf0499e3a74a21f3865f8cfff823cf&mpshare=1&scene=1&srcid=1125ecOUDnM5i0dhstkG6eyd&pass_ticket=byNbhf3smWXq8FGyJxzCfHcRBNH4ztcG%2Fq8NdYLN6QLm6WnpixhgNnTCZyE4aY%2F9#rd