浏览器引擎与组成部分简介

浏览器简介

众所周知,浏览器是能够解析HTML以及CSS、JavaScript的软件,其中HTML与CSS能够被识别是浏览器渲染功能,而JavaScript则是JS引擎的功能。

浏览器功能结构:

  • 用户界面(UI) - 包括菜单栏、工具栏、地址栏、后退/前进按钮、书签目录等,也就是能看到的除了显示页面的主窗口之外的部分;
  • 浏览器引擎(Rendering engine) - 也被称为浏览器内核、渲染引擎,主要负责取得页面内容、整理信息(应用 CSS)、计算页面的显示方式,然后会输出到显示器或者打印机;
  • JS 解释器 - 也可以称为 JS 内核,主要负责处理 javascript 脚本程序,一般都会附带在浏览器之中,例如 chrome 的 V8 引擎;
  • 网络部分 - 主要用于网络调用,例如:HTTP 请求,其接口与平台无关,并为所有的平台提供底层实现;
  • UI 后端 - 用于绘制基本的窗口部件,比如组合框和窗口等。
  • 数据存储 - 保存类似于 cookie、storage 等数据部分,HTML5 新增了 web database 技术,一种完整的轻量级客户端存储技术。
浏览器结构图
  • 渲染引擎与JS引擎是核心,它们与HTML版本、CSS版本以及ECMAScript版本密切相关;
  • 浏览器引擎是各个类型的浏览器独有的,比如Chrome、FireFox、IE/Edge、Safri、Opera等;

以下是各个不同浏览器所对应的渲染引擎与JS引擎:

主流浏览器引擎

浏览器的多进程架构

现代浏览器基本都是采用的多进程架构,主要包括三种进程。

  1. Browser进程:浏览器主线程,对应浏览器引擎部分,整个浏览器应用程序只有一个,主要负责页面管理、书签、资源管理等;
  2. 渲染进程:对应渲染引擎和JS引擎,整个浏览器应用程序可以包含多个渲染进程,主要负责页面渲染、JS执行,属于内核进程;
  3. GPU进程:负责GPU渲染,整个浏览器应用程序只有一个;

原文

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容