url地址請求的完整過程


從一個url地址到最終頁面渲染發生的事情?

1.DNS解析:將域名地址解析成ip地址

    --- 瀏覽器DNS緩存

    --- 系統DNS緩存

    --- 路由器DNS緩存

    --- 網絡運營商DNS緩存

    --- 若都沒找到則進行遞歸搜索: 例:blog.baidu.com

        == .com域名下查找DNS解析

        == .baidu域名下查找DNS解析

        ==  blog域名下查找DNS解析

        ==   出錯了

 

2. TCP連接 :TCP三次握手

    ---- 第一次握手: 由瀏覽器發起,告訴服務器我要請求數據了

    ---- 第二次握手: 由服務器發出,告訴瀏覽器我准備好要接受數據了,你可以發送請求了

    ---- 第三次握手: 由瀏覽器發出,告訴服務器我馬上就發,你准備接受

3. 發送請求

    ---- 發送請求:HTTP協議的通信內容

4. 接受響應

    ---- 響應報文

5. 渲染頁面

    ---- 遇見HTML標記,瀏覽器調用HTML解析器解析成Token並構建成dom樹

    ---- 遇見style / link 標記,瀏覽器調用css解析器,處理css標記並構建cssom樹

    ---- 遇見script標記,調用JavaScript解析器處理script代碼(綁定事件,修改dom樹、cssom樹。。。。)

    ---- 將dom樹和cssom樹合並成一個渲染樹

    ---- 根據渲染樹來計算布局,計算每個節點的意義(布局)

    ---- 將各個節點的顏色繪制到屏幕上(渲染)

    注意:  這幾個步驟不一定是按照順序執行,如果dom樹被修改了就會執行多次布局和渲染,往往實際頁面這些步驟都會執行多次

6.斷開連接:TCP四次揮手

    第一次揮手:由瀏覽器發起,發送給服務器,我東西發完了(請求報文),你准備關閉吧

    第二次揮手:由服務器發起,告訴瀏覽器,我東西接受完了(請求報文),我准備關閉了,你也准備好

 

    第三次揮手:有服務器發起,告訴瀏覽器,我東西發送完了(響應報文),你准備關吧

    第四次揮手:由瀏覽器發起,告訴服務器,我東西接受完了,我准備關了,你也准備好吧

  

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM