圖1:瀏覽器主要元件
解析html以構建
dom樹
->
構建render
樹 ->
布局render
樹 ->
繪製render
樹渲染引擎開始解析html,並將標籤轉化為內容樹中的
dom節點。接著,它解析外部
css檔案及
style
標籤中的樣式資訊。這些樣式資訊以及
html
中的可見性指令將被用來構建另一棵樹
——render
樹。render樹由一些包含有顏色和大小等屬性的矩形組成,它們將被按照正確的順序顯示到螢幕上。
render
樹構建好了之後,將會執行布局過程,它將確定每個節點在螢幕上的確切座標。再下一步就是繪製,即遍歷
render
樹,並使用
ui後端層繪製每個節點。
dom(dom是文件物件模型的縮寫
)和標籤基本是一一對應的關係,例如,如下的標籤:
hello dom
將會被轉換為下面的dom樹:
暫時沒有看懂
當渲染物件被建立並新增到樹中,它們並沒有位置和大小,計算這些值的過程稱為layout或
reflow
。繪製階段,遍歷渲染樹並呼叫渲染物件的paint方法將它們的內容顯示在螢幕上
瀏覽器工作原理
首先對上篇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請求 伺服器處理 瀏覽器收到返回,解析展示 我們在瀏覽器輸入 其實就是...