從輸入URL到頁面載入的過程?

2020-09-24 20:00:51

1.從瀏覽器接收url到開啟網路請求執行緒
(這一部分可以展開瀏覽器的機制以及程序與執行緒之間的關係)
2.開啟網路執行緒到發出一個完整的http請求
(這一部分涉及到dns查詢,tcp/ip請求,五層因特網協定棧等知識)
3.從伺服器接收到請求到對應後臺接收到請求
(這一部分可能涉及到負載均衡,安全攔截以及後臺內部的處理等等)
4.後臺和前臺的http互動
(這一部分包括http頭部、響應碼、報文結構、cookie等知識,可以提下靜態資源的cookie優化,以及編碼解碼,如gzip壓縮等)
5.單獨拎出來的快取問題,http的快取(這部分包括http快取頭部,etag,catch-control等)
6.瀏覽器接收到http封包後的解析流程
(解析html-詞法分析然後解析成dom樹、解析css生成css規則樹、合併成render樹,然後layout、painting渲染、複合圖層的合成、GPU繪製、外連資源的處理、loaded和domcontentloaded等)
7.CSS的視覺化格式模型(元素的渲染規則,如包含塊,控制框,BFC,IFC等概念)
8.JS引擎解析過程
(JS的解釋階段,預處理階段,執行階段生成執行上下文,VO,作用域鏈、回收機制等等)
9.其它(可以拓展不同的知識模組,如跨域,web安全,hybrid模式等等內容)

先發個思路,後續會更新細節。