WebKit 和 Chromium 功能模块
优质
小牛编辑
123浏览
2023-12-01
在“WebKit,WebKit2,Chromium和Chrome介绍”中,大致了解了WebKit是一个渲染引擎,Chromium是一个浏览器,它们那么分别包含哪些不同的功能模块?它们是如何划分地?本章节来为大家详细解读一下。
WebKit:
- HTML解析:负责HTML语言的解析
- CSS解析:负责CSS的解析工作
- 图片解码:支持不同编码格式的图片
- JavaScript引擎:JavaScript语言的解析引擎,缺省的是JavaScriptCore,但是目前Google 的V8 JavaScript被广泛使用
- 正则表达式
- 布局:负责布局(layout)的计算和更新工作
- 文档对象模型(DOM):DOM是W3C定义的对象模型,该部分负责DOM树及其相应的接口
- 渲染:与渲染相关的基础设施,例如渲染树,渲染层次树等等
- SVG:对SVG的支持
- XML解析:XML语言的解析
- XSLT:XSLT语言的解析执行
- URL解析器:URL规范的解析
- Unicode编解码器:各种编码解码工作
- 移植:WebKit中比较大的一部分,因为WebKit要工作需要不同平台上有具体的实现,因而不同的移植有不同的实现。chromium的移植很复杂,因为其支持跨平台,所以它的移植需要在windows,linux和mac上工作。 由上面的模块大致可以WebKit主要是跟网页的解析和渲染相关的工作,其不涉及浏览器的历史,书签,下载,cookie管理等等方面的工作。
Chromium:
- Cookie管理器:cookie生命周期的管理
- 历史管理器:历史记录的管理
- 密码管理器:网页中密码登录信息管理
- 窗口管理:多个Tab窗口的管理和切换
- 地址栏:地址栏功能,智能地址填充与书签的协同工作
- 安全浏览黑名单管理:安全浏览机制
- 网络栈:与网络传输相关的工作,其有很多创新的东西
- SSL/TLS:网络传输安全
- 磁盘缓存:磁盘缓存页面及其替换策略等生命周期的管理
- 下载管理器:管理下载相关
- 粘帖板:clipboard的功能
- 书签管理:书签的组织和管理
- URL解析器:同WebKit
- Unicode编解码器:同WebKit
Chromium主要是实现浏览器相关的功能,如上面中的网络栈等等。其实以上只是一些浏览器基本功能,chromium实现的远不止这些,这其中包含沙箱模型,NaCl,扩展机制,硬件加速架构等等。这些我们将在之后的章节中逐一介绍它们。
URL解析器和Unicode编解码器在两者中都存在是因为它们都要使用到。