在瀏覽器上輸入一個網址後,一個漂亮的頁面就呈現在我們眼前,中間發生了什麼事?對於一個普通用戶來講,也許不用思考這個問題,但要作為一個名前端開發人員或是想開發插件的同學來講,掌握瀏覽器的工作原理是非常有必要的!
今天討論五種主流瀏覽器-IE、Firefox、Safari、Chrome及Opera。瀏覽器的功能和目的都是一樣的,但在解析的過程中會有些差異。那麼瀏覽器的主要功能有哪些呢?
1. 使用者介面(這個不重要) - 包括網址列、後退/前進按鈕、書籤目錄等,也就是你所看到的除了用來顯示你所請求頁面的主視窗之外的其他部分。
2. 瀏覽器引擎 - 用來查詢及操作渲染引擎的介面。另外還用來操作瀏覽器的資料儲存。
3. 渲染引擎 - 用來顯示請求的內容,例如,如果請求內容為html,它負責解析html及css,並將解析後的結果顯示出來。
4. 網路 - 用來完成網路調用,例如http請求,它具有平台無關的接口,可以在不同平台上工作。
5. UI後端 - 用來繪製類似組合選擇框及對話框等基本組件,具有不特定於某個平台的通用接口,底層使用操作系統的用戶接口。
6. JS解釋器 - 用來解釋執行JS程式碼。
7. 資料儲存 - 屬於持久層,瀏覽器需要在硬碟中保存類似cookie的各種數據,HTML5定義了web database技術,這是一種輕量級完整的客戶端儲存技術
圖1:瀏覽器主要組件
需要注意的是,不同於大部分瀏覽器,Chrome為每個Tab分配了各自的渲染引擎實例,每個Tab就是一個獨立的進程。
參考頁:
霹靂猿教學_-HTML教學-HTML 教學
霹靂猿教學_-HTML教學-HTML 簡介
霹靂猿教學_-HTML教學-HTML 基礎
霹靂猿教學_-HTML教學-HTML 元素
霹靂猿教學_-HTML教程-HTML 屬性
霹靂猿教學_-HTML教學-HTML 標題
霹靂猿教學_-HTML教學-HTML 段落
霹靂猿教學_-HTML教學-HTML 連結
霹靂猿教學_-HTML教學-HTML 頭部 http://www.piliyuan.com/HTML/22.html
霹靂猿教學_-HTML教學-HTML CSS http://www.piliyuan.com/HTML/23.html
霹靂猿教學_-HTML教學-HTML 圖片 http://www.piliyuan.com/HTML/24.html
霹靂猿教學_-HTML教學-HTML 表格介紹 http://www.piliyuan.com/HTML/27.html
霹靂猿教學_-HTML教學-HTML 清單 http://www.piliyuan.com/HTML/28.html