浏览器由以下几个部分组成:

用户界面(user interface

用于呈现浏览器窗口部件,比如地址栏、前进后退按钮、书签、顶部菜单等

浏览器引擎(browser engine

用户在用户界面和渲染引擎中传递指令

渲染引擎(rendering engine

负责解析 HTMLCSS,并将解析的内容显示到屏幕上。浏览器内核就是指这部分。

现代网络浏览器的渲染引擎:

  • Firefox:Gecko Software

  • Safari:WebKit

  • Chrome、Opera (15 版本之后):Blink

  • Internet Explorer:Trident

网络(networking

用户网络调用,比如发送 http 请求

用户界面后端(UI backend

用于绘制基本的窗口小部件,比如下拉列表、文本框、按钮等,向上提供公开的接口,向下调用操作系统的用户界面。

JS 解释器(JavaScript interpreter

解释执行 JS 代码。JS 引擎就是指这部分。

不同的浏览器使用不同的 JS 引擎:

  • ChromeV8 (JavaScript 引擎) (Node JS 建立在此之上)

  • MozillaSpiderMonkey (旧称“松鼠鱼”)

  • Microsoft EdgeChakra

  • SafariJavaScriptCore / Nitro WebKit

数据存储(data storage

用户保存数据到磁盘中。比如 cookie、localstorage 等都是使用的这部分功能。