瀏覽器引擎其實是包含了渲染引擎及Javascript引擎的, 它是一個大而全, 負責總控的程式。
瀏覽器引擎 (Browser Engine)
瀏覽器引擎是管理和協調瀏覽器各個子系統的中央控制單元。它處理瀏覽器的高層邏輯,處理網路請求、JavaScript 執行、外掛互動等。例如接收使用者請求、載入資源、解析 HTML 文件、處理 JavaScript 指令碼、管理外掛等。
-
職責:
- 解析使用者輸入的 URL,併發出 HTTP 請求來獲取內容。
- 管理和協調渲染引擎的工作。
- 處理 JavaScript 引擎的執行。
- 處理瀏覽器的頁面導航、歷史記錄、網路請求、快取等。
-
典型的瀏覽器引擎:
- Blink:Chrome 和 Edge 使用的瀏覽器引擎。
- Gecko:Mozilla Firefox 使用的引擎。
- WebKit:Safari 使用的引擎。
渲染引擎 (Rendering Engine)
渲染引擎負責將 HTML、CSS 和 JavaScript 解析並轉換為視覺化的內容。它透過佈局和繪製,將文件繪製到螢幕上。
- 職責:
- 解析 HTML 並構建 DOM(文件物件模型)樹。
- 解析 CSS 並構建 CSSOM(CSS 物件模型)樹。
- 結合 DOM 和 CSSOM 樹,建立渲染樹。
- 執行佈局計算,確定元素的大小和位置。
- 繪製頁面內容到螢幕上。
目前最常用的渲染引擎包括:
- Blink:主流的現代渲染引擎,廣泛應用於 Chrome、Edge 等瀏覽器。
- WebKit:Safari 瀏覽器的核心引擎,最佳化蘋果裝置上的效能。
- Gecko:Mozilla Firefox 的渲染引擎,開源、支援隱私保護。
可見, 渲染引擎即是瀏覽器引擎, 屬於瀏覽器引擎的一部分
JavaScript 引擎
JavaScript 引擎主要就是JavaScript
語言的直譯器, 用於解釋執行JavaScript程式碼。
常見的瀏覽器引擎:
-
V8:
- V8 是 Google 開發的開源高效能 JavaScript 引擎,用於 Chrome 瀏覽器和 Node.js。
- V8 負責解釋和執行 JavaScript 程式碼。
-
SpiderMonkey:
- SpiderMonkey 是 Mozilla Firefox 瀏覽器使用的 JavaScript 引擎。
-
JavaScriptCore:
- JavaScriptCore 是 WebKit 中使用的 JavaScript 引擎,最初由 Apple 開發。