了解 HTTP 請求與網頁渲染的背後運作

概略的基本原理

  • 透過瀏覽器輸入網址
  • 透過網址的 doamin和資訊,與 DNS伺服器取得該網址所對應的 ip及 port號
  • 開始與伺服器建立三項交握
    • 瀏覽器對伺服器發出第一個互動,詢問該伺服器是否存在
    • 伺服器回應
    • 瀏覽器回應: 將開始發送請求
  • 若是HTTPS請求,進行SSL握手
  • 連結到該伺服器後,向伺服器發出第一個 request請求(常見如HTTP或 HTTPS協定),這個請求通常是該網頁的 HTML文本,此步驟屬於TCP/IP的應用層
  • 伺服器透過 TCP、UDP..等等協定發送封包到瀏覽器,當瀏覽器收到封包後獲得如200 OK..等等的status code,此步驟屬於TCP/IP的傳輸層
  • 瀏覽器開始解析第一個 HTML文本,過程由上向下逐行解析,若有css、js、img等等的需求時,會再向伺服器端發送新的 requst請求
  • 除了持續發送請求,瀏覽器的渲染引擎也持續在渲染 DOM tree(建立網頁 Layout),並透過伺服器回應的 CSS持續渲染網頁樣式
  • 四次揮手結束瀏覽器與網頁伺服器連線

參考資料

六角學院 - 計算機網路直播簡報
通訊協議的基本常識

延伸閱讀