WebKit 和 Chromium 功能模块

优质
小牛编辑
123浏览
2023-12-01

在“WebKit,WebKit2,Chromium和Chrome介绍”中,大致了解了WebKit是一个渲染引擎,Chromium是一个浏览器,它们那么分别包含哪些不同的功能模块?它们是如何划分地?本章节来为大家详细解读一下。

WebKit:

  1. HTML解析:负责HTML语言的解析
  2. CSS解析:负责CSS的解析工作
  3. 图片解码:支持不同编码格式的图片
  4. JavaScript引擎:JavaScript语言的解析引擎,缺省的是JavaScriptCore,但是目前Google 的V8 JavaScript被广泛使用
  5. 正则表达式
  6. 布局:负责布局(layout)的计算和更新工作
  7. 文档对象模型(DOM):DOM是W3C定义的对象模型,该部分负责DOM树及其相应的接口
  8. 渲染:与渲染相关的基础设施,例如渲染树,渲染层次树等等
  9. SVG:对SVG的支持
  10. XML解析:XML语言的解析
  11. XSLT:XSLT语言的解析执行
  12. URL解析器:URL规范的解析
  13. Unicode编解码器:各种编码解码工作
  14. 移植:WebKit中比较大的一部分,因为WebKit要工作需要不同平台上有具体的实现,因而不同的移植有不同的实现。chromium的移植很复杂,因为其支持跨平台,所以它的移植需要在windows,linux和mac上工作。 由上面的模块大致可以WebKit主要是跟网页的解析和渲染相关的工作,其不涉及浏览器的历史,书签,下载,cookie管理等等方面的工作。

Chromium:

  1. Cookie管理器:cookie生命周期的管理
  2. 历史管理器:历史记录的管理
  3. 密码管理器:网页中密码登录信息管理
  4. 窗口管理:多个Tab窗口的管理和切换
  5. 地址栏:地址栏功能,智能地址填充与书签的协同工作
  6. 安全浏览黑名单管理:安全浏览机制
  7. 网络栈:与网络传输相关的工作,其有很多创新的东西
  8. SSL/TLS:网络传输安全
  9. 磁盘缓存:磁盘缓存页面及其替换策略等生命周期的管理
  10. 下载管理器:管理下载相关
  11. 粘帖板:clipboard的功能
  12. 书签管理:书签的组织和管理
  13. URL解析器:同WebKit
  14. Unicode编解码器:同WebKit

Chromium主要是实现浏览器相关的功能,如上面中的网络栈等等。其实以上只是一些浏览器基本功能,chromium实现的远不止这些,这其中包含沙箱模型,NaCl,扩展机制,硬件加速架构等等。这些我们将在之后的章节中逐一介绍它们。

URL解析器和Unicode编解码器在两者中都存在是因为它们都要使用到。