首先我們必須明確一點就是:瀏覽器工作流程中採用流式處理,可以簡單的理解為一部分dom元素構造好後,去檢查它匹配到了那些css規則,而不是等整棵dom樹構建好後才去匹配css規則。
其次,瀏覽器工作的大致流程是什麼呢?
輸入url;(即目的是使用http/https協議,向伺服器請求頁面)
將url變成字元流,把字元流變成詞(token)流,把詞流構造成dom樹;(即html各標籤到dom樹)
給dom樹新增css屬性(按照選擇器匹配規則);(即生成一棵帶有css屬性的樹)
通過排版(正常流,絕對定位元素、浮動元素)來確定每個元素的位置;
根據每個元素的位置和大小,在記憶體中:渲染(元素變成位圖)、合成(一部分位圖變成合成層)、繪製(合成層顯示到螢幕上)。
最後,網頁就呈現在你的面前。
瀏覽器工作流程 從輸入 URL 到頁面展示
學習筆記 使用者輸入 使用者在位址列按下回車,檢查輸入 關鍵字 or 符合 url 規則 組裝完整 url 回車前,當前頁面執行 onbeforeunload 事件 瀏覽器進入載入狀態。url 請求 瀏覽器程序通過 ipc 把 url 請求傳送至網路程序 查詢資源快取 有效期內 dns 解析 查詢 ...
瀏覽器執行流程
具體可檢視 程序與執行緒的乙個簡單解釋 阮一峰的網路日誌 以chrome為例。瀏覽器包含執行緒 js引擎執行緒 事件觸發執行緒 定時觸發器執行緒 當計時完成被觸發,事件會被新增到事件佇列,等待js引擎空閒了執行 注意 w3c的html標準中規定,settimeout中低與4ms的時間間隔算為4ms ...
瀏覽器如何工作
吃飽沒事,隨便翻譯一篇文章。現在的瀏覽器可以做很多事,如chrome可以執行多種應用外掛程式。但我覺得你可能對如何載入展示網頁感興趣。網路是c s架構的。瀏覽器僅僅是其中的一半 客戶端 另一半是等待客戶端發請求的伺服器。首先,瀏覽器要找到web伺服器的位址。它問作業系統伺服器的名字 作業系統便查詢本...