浏览器内核介绍

本文详细介绍了浏览器内核的组成与发展历程,重点讲解了渲染引擎的工作原理,包括浏览器中的进程与线程、渲染流程、回流与重绘的优化。此外,还深入探讨了JavaScript V8引擎的数据存储、垃圾回收机制和执行过程。
摘要由CSDN通过智能技术生成

1、浏览器组成

主要由7部分组成:

  • 1、User Interface(用户界面):所能看到的界面部分;
  • 2、Browser engine(浏览器引擎):在用户界面和渲染引擎之间传送指令或在客户端本地缓存中读写数据等,是浏览器中各个部分之间相互通信的核心。
  • 3、Networking(网络):实现HTTP、FTP等传输协议,完成网络调用或资源下载的模块;
  • 4、Rendering Engine(或layout engineer渲染引擎):负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。
  • 5、JavaScript Interpreter(JS 引擎/解释器):解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果,如 V8 引擎、JavaScriptCore。
  • 6、Date Persistence(数据持久化存储):cookie、localstorage个性设置、安全证书、缓存等;
  • 7、UI Backend(UI 后端):用来绘制基本的浏览器窗口内控件,如输入框、按钮、单选按钮等,根据浏览器不同绘制的视觉效果也不同,但功能都是一样的。

目前chromium浏览器的架构中还会包含各种第三方库:这些库是WebKit运行的基础,包括2D图形库、3D图形库、网络库、存储库、音视频库等;

2、内核

浏览器内核主要分为两部分:渲染引擎(layout engineer 或 Rendering Engine) 和 JS引擎:

  • 渲染引擎负责取得网页的内容进行布局计和样式渲染,然后会输出至显示器或打印机
  • JS引擎则负责解析和执行JS脚本来实现网页的动态效果和用户交互
  • 最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。

发展史

英文叫做:Rendering Engine,中文翻译很多,排版引擎、解释引擎、渲染引擎,现在流行称为浏览器内核。

  • Trident:1997年 IE浏览器;
  • KHTML:1998年
  • Gecko:2000年 Mozilla浏览器、Firefox浏览器;
  • WebKit:2001年 Safari浏览器;
    • 基于KDE小组(Linux桌面系统)的 KHTML 引擎,是 KHTML 的一个开源的分支;
  • Presto:2003年 Opera浏览器;
  • Chromium:2008年 Chrome浏览器。
    • 是开源引擎webkit的一个分支,但后来做了很多改进,DNS Prefetch、SPDY、QUIC、Prerender、多进程架构、PPAPI、v8 JavaScript引擎、对HTML5的支持等技术内容都是很好的创新例子。
    • 渲染页面较于webkit更好。
  • 混合引擎(双核):2010年 国内很多浏览器;
  • Blink:2013年 Chrome浏览器;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值