詳細的瀏覽器工作原理

2021-08-20 21:15:06 字數 1354 閱讀 6722

重點看一下,瀏覽器載入和渲染介面這個過程。首先瀏覽器由7個部分組成:

解析html 為dom 樹:

1)html位元組流解碼變為字元流。根據不同編碼方式,如utf-8 gbk來解碼

2)詞法分析:將字元流解析為乙個個詞語

3)語法分析:通過不同標籤,生成node節點

4)構建dom樹:將node節點組織成dom樹

hello worldp>

!(example.png)div>

body>

html>css解析器讀取css檔案,得到元素最匹配的樣式

1)經過詞法分析和語法分析,生成乙個個css規則。規則由選擇器和乙個key:value對組成的屬性集合構成

2)進行規則匹配:根據元素資訊,如id class 標籤,通過不同優先順序得到元素最匹配的css規則

p,div

.error

渲染樹結構:

生成renderobject樹:由dom樹構建renderobject樹,並將css得到的元素匹配的樣式存入到renderobject中。

布局渲染樹: 根據renderobject中的樣式屬性,先測量元素的寬高,這個過程一般需要遞迴,因為父元素的大小會受到子元素影響。然後計算根據框模型,由paddind border margin計算布局。

繪製渲染樹: 先繪製元素背景,然後是浮動部分,最後是前景(content,padding,border等部分)。最後得到了使用者可見區域(viewport)的記憶體表示。

通常頁面的載入速度會受html,css ,js 的影響,那麼三者又是怎麼載入的?

瀏覽器工作原理

首先對上篇blog 進行乙個補充 以我做的 基於執行緒池和資料庫連線池的web 伺服器 為例,說說http 通訊的流程,大體分為三個階段 a 連線 伺服器通過乙個serversocket 類物件對8000 埠進行監聽,監聽到之後建立 連線,開啟乙個socket 虛擬檔案。b 請求 建立與建立sock...

瀏覽器工作原理

介紹 渲染引擎又叫排版引擎或者瀏覽器核心 主流的渲染引擎有 解析html構造dom樹 document object model,文件物件模型 dom是w3c組織推薦的處理可擴充套件置標語言的標準程式設計介面。構建渲染數,渲染數並不等同於dom數,因為像head標籤或者display none這樣的...

瀏覽器工作原理

輸入網域名稱,瀏覽器做簡單的篩選判斷 預設為http協議,https的話需要手動輸入 dns查詢,獲取ip位址 先查自己記憶體裡的dns cache 再查本地硬碟裡的host檔案 查詢dns服務 建立tcp ip連線 傳送http請求 伺服器處理 瀏覽器收到返回,解析展示 我們在瀏覽器輸入 其實就是...