·外殼shell:User Interface(用戶界面)、Browser engine(瀏覽器引擎)、Networking(網絡)、UI Backend(UI 后端)、Date Persistence(數據持久化存儲)
1.相互工作:
- 用戶界面 -包括地址欄、后退/前進按鈕、書簽目錄等,也就是你-所看到的除了頁面顯示窗口之外的其他部分
- 瀏覽器引擎 -可以在用戶界面和渲染引擎之間傳送指令或在客戶端本地緩存中讀寫數據等,是瀏覽器中各個部分之間相互通信的核心
- 渲染引擎 -解析DOM文檔和CSS規則並將內容排版到瀏覽器中顯示有樣式的界面,也有人稱之為排版引擎,我們常說的瀏覽器內核主要指的就是渲染引擎
- 網絡 -用來完成網絡調用或資源下載的模塊
- UI 后端 -用來繪制基本的瀏覽器窗口內控件,如輸入框、按鈕、單選按鈕等,根據瀏覽器不同繪制的視覺效果也不同,但功能都是一樣的。
- JS引擎 -用來解釋執行JS腳本的模塊,如 V8 引擎、JavaScriptCore
- 數據存儲 -瀏覽器在硬盤中保存 cookie、localStorage等各種數據,可通過瀏覽器引擎提供的API進行調用
2.各個主流瀏覽器的JS引擎和渲染引擎
參考:https://blog.csdn.net/BonJean/article/details/78453547