User Interface用户界面:包括地址栏、前进/后退按钮、书签菜单等
Browser Engine浏览器引擎:在用户界面和呈现引擎之间传送指令
Rendering Engine呈现引擎(渲染引擎):负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解析后的内容显示在屏幕上。
Networking网络:用于网络调用,比如 HTTP 请求
JavaScript Interpreter JS解释器:用于解析和执行 JavaScript 代码
Data persistence数据存储:这是持久层,浏览器需要在硬盘上保存各种数据,例如 Cookie等。
一般来说浏览器内核指的都是呈现引擎的部分:
- chrome:blink
- firefox:gecko
- Safari:webkit
- IE:trident/edge
浏览器渲染流程:
呈现引擎是单线程的;而网络操作可以由多个并行线程执行。并行连接数是有限的,通常为2-6个。