2017-09-12 130 views
1

我發現了一些類似的問題,但他們不完全對我有迴應,這裏要說的是,我希望可以幫助別人名單:瀏覽器引擎和渲染引擎有什麼區別?

What's the difference between a browser engine, a rendering engine and a user agent?

Difference between layout engine and javascript engine


至於解釋這裏https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/

瀏覽器引擎: marshals UI和渲染引擎之間的操作。

渲染引擎:負責顯示請求的內容。例如,如果請求的內容是HTML,則呈現引擎將解析HTML和CSS,並在屏幕上顯示解析的內容。

根據維基百科: 網絡瀏覽器引擎(有時也被稱爲網絡佈局引擎或網頁渲染引擎)...

但我有點困惑,我仍然無法理解瀏覽器引擎是什麼,是「用戶界面和渲染引擎之間的操作」。

回答

1

我不知道如何解釋「發動機」。 讓我通過在具有多進程體系結構的鉻瀏覽器上下文中使用關鍵字「process」來解釋。

瀏覽器進程:主瀏覽器進程管理渲染器處理

渲染過程:基本上一個選項卡(鉻)

爲了防止整個瀏覽器崩潰或危及主機系統由於惡意網頁內容,每個請求都會委託一個單獨的進程處理Web內容。這個單獨的進程是Renderer進程(選項卡進程),它沒有用戶權限(即對OS系統調用的訪問權限有限)。

當一個人請求一個網站時,呈現過程會將該請求轉發給瀏覽器進程,從而使網絡調用該網站。 Web內容到達後,瀏覽器進程將內容發送到渲染器進程。 渲染器進程解析HTML,CSS fils,準備DOM,維護JS運行時(V8實例)並將內容作爲位圖格式發送給瀏覽器進程以在UI上顯示它。

瀏覽器進程將渲染器進程視爲黑盒子,並期望呈現器進程以特定格式顯示Web內容。 將網頁內容轉換爲所需格式包括佈局引擎(流程)是其中一個的幾個子組件。

因此,瀏覽器進程處理用戶特權資源/請求,如訪問文件系統,網絡等,因爲沙盒渲染器進程負責將網頁轉換爲瀏覽器進程可以將其顯示在OS本地窗口管理器。

我不知道爲什麼佈局引擎被命名爲瀏覽器引擎。上述瀏覽器進程不同於瀏覽器引擎(佈局引擎)。我還沒有探索過佈局引擎。

參考文獻: https://seclab.stanford.edu/websec/chromium/chromium-security-architecture.pdf

相關問題