2017-09-12 131 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

相关问题