從輸入url地址到刷新頁面經從來什麼?最簡單的方式告訴你

步驟

  • NDS解析,將域名地址解析爲ip地址 (第一步)
    • 瀏覽器DNS緩存
    • 系統DNS緩存
    • 路由器DNS緩存
    • 網絡運營商DNS緩存
    • 遞歸搜索 如 blog.baidu.com
      • .com 域名下查找DNS解析
      • .baidu
      • blog
      • 出錯
  • TCP鏈接,TCP三次握手 (第二步)
    • 第一次握手,由瀏覽器發起,告訴服務器我要發送請求了
    • 第二次握手,由服務器發起,告訴瀏覽器,你趕忙發送
    • 第三次握手,由瀏覽器發起,告訴服務器,我立刻就發了,準備接收了。
  • 發送請求 (第三步)
    • 請求報文:http 協議的通訊內容
  • 接收響應 (第四步)
    • 響應報文
  • 渲染頁面 (第五步)
    • 碰見html 標記,瀏覽器調用html解析器解析成token並構建成dom樹。
    • 碰見style/link標記,瀏覽器會調用css解析器,處理css標記並構建cssom樹
    • 碰見script標籤,會調用script解析器,處理script代碼。
    • 將dom樹和cssom樹合併成渲染樹
    • 根據渲染樹來計算佈局,計算每一個節點的幾何信息(佈局)
    • 將各個節點的顏色繪製到屏幕上(渲染)

注意 這五個步驟,不必定按順序執行,可能反覆執行,或者執行屢次佈局和渲染,每每在實際頁面中,這些步驟會執行屢次。css

  • 斷開鏈接(Tcp的四次揮手)(第六步)
    • 第一次揮手: 由瀏覽器發起,告訴服務器,我東西發完來(請求報文),能準備關閉吧。
    • 第二次揮手:由服務器發起,告訴瀏覽器,我東西接收完來(請求報文),我準備關閉來,你也準備吧。
    • 第三次揮手:由服務器發起,告訴瀏覽器,我東西發送完來 (響應報文),你準備關閉吧。
    • 第四次揮手:由瀏覽器發起,告訴服務器,我東西接收完了,我準備關閉來(響應報文),你也準備吧。
相關文章
相關標籤/搜索