遊覽器及遊覽器內核

最近在看WebKit技術內幕這本書,寫博客的目的還是對所學的知識點做個總結吧,希望自己能堅持下去,Ok, Let’s go

遊覽器特性
  • 網絡: 遊覽器通過網絡模塊來下載各種各樣的資源,包括HTML文本,JaveScript代碼,樣式表,圖片,音視頻文件等
  • 資源管理: 從網絡模塊下載資源,並對資源進行管理,包括避免重複下載資源,緩存資源等
  • 網頁遊覽: 通過網絡下載資源並從資源管理器獲取資源轉換爲可視話的結果
  • 多頁面管理: 遊覽器支持多頁面遊覽,需要支持多個頁面同時加載,這需要解決多個頁面的相互影響和安全等問題
  • 插件和擴展: 插件用於顯示網頁特定內容,擴展增加遊覽器新功能的軟件或壓縮包,目前常用插件有NPAPI,PPAPI,ActiveX(一直不推薦採用,漏洞比較多)等,擴展跟遊覽器有關
  • 賬戶和同步: 將遊覽器相關信息包括歷史記錄,書籤等同步到服務器
  • 安全機制: 提供一個安全的遊覽器環境,避免用戶信息被各種非法竊取和破壞
  • 開發者工具: 面向網頁開發者
HTML
超文本標記語言,HTML5於2012年由WHATWG&W3C推薦爲候選規範,H5包含10大類別:離線,存儲,連接,文件訪問,語義,音視頻,3D和圖形,展示,性能和其他,具體見下表
類別 具體規範
離線 Application cache,Local storage,Indexed DB,在線/離線事件
存儲 Application cache,Local storage,Indexed DB etc
連接 Web Sockets, Server-sent事件
文件訪問 File API,File System,FileWriter,ProcessEvents
語義 新元素,包括Media,structural,國際化,Link relation,屬性,form類型,microdata等方面
音視頻 HTML5 Video,Web Audio,WebRTC,Video track等
3D和圖形 Canvas2D,3D CSS變換,WebGL,SVG等
展示 CSS3 2D/3D變換,轉換(transition),WebFonts等
性能 Web Worker,HTTP caching等
其他 觸控和鼠標, Shadow DOM,CSS masking等
內核和主流內核

內核是指將頁面轉變爲可視化的圖像結果,如下圖,也被稱爲渲染引擎。

遊覽器渲染引擎

遊覽器和web平臺及其渲染引擎

備註 Trident(IE) Gecko(火狐) Webkit(chrome)
基於渲染引擎的遊覽器或者web平臺 IE Firefox Safari,chromium/Chrome,Android遊覽器,ChromeOS,WebOS等
渲染引擎模塊及其依賴的模塊

這裏寫圖片描述

  • HTML解釋器: 將HTML文本解釋成DOM樹,DOM一種文檔的表示方法
  • CSS解釋器:級聯樣式表的解釋器,爲DOM中各個元素對象計算樣式信息
  • 佈局:DOM創建後,將元素對象同樣式結合起來,計算大小位置等佈局信息,最終形成一個內部表示模型
  • JavaScript引擎:解釋JavaScript代碼並通過DOM接口和CSSOM接口來修改網頁內容和樣式信息,最終改變渲染結果

渲染過程及依賴的模塊
這裏寫圖片描述

Webkit介紹
 廣義webkit是指Webkit項目,狹義是指在WebCore(包含之前提到的HTML解釋器,CSS解釋器和佈局等模塊)和JavaScript引擎之上的一層綁定和嵌入式編程接口,可以被各種遊覽器調用。

webkit項目大模塊

webkit2與webkit的區別:webkit2不是webkit綁定和接口層的簡單修改版,而是一組支持新架構的全新綁定和接口層,蘋果公司於2010年4月正式宣佈webkit2,該接口和調用者代碼不在同一個進程,有了chromium多進程的優點,與此同時,webkit2的使用者不需要理解和接觸背後的多進程和進程間通信等複雜機制,結構如下圖:
webkit2進程結構

發佈了39 篇原創文章 · 獲贊 11 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章