浏览器内核
常见的浏览器
浏览器是网页运行的平台,常见的浏览器有谷歌(Chrome)、Safari、火狐(Firefox)、IE、Edge、Opera等。如下图所示:
我们重点需要学习的是 Chrome 浏览器。
浏览器的市场占有份额
浏览器的市场占有份额:https://tongji.baidu.com/research/site?source=index#browser
上面这张图的统计时间是2020年2月。
浏览器的组成
浏览器分成两部分:
1、渲染引擎(即:浏览器内核)
2、JS 引擎
1、渲染引擎(浏览器内核)
浏览器所采用的「渲染引擎」也称之为「浏览器内核」,用来解析
HTML与CSS。渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
渲染引擎是浏览器兼容性问题出现的根本原因。
渲染引擎的英文叫做 Rendering
Engine。通俗来说,它的作用就是:读取网页内容,计算网页的显示方式并显示在页面上。
常见浏览器的内核如下:
浏览器 内核
chrome Blink
欧鹏 Blink
360安全浏览器 Blink
360极速浏览器 Blink
Safari Webkit
Firefox 火狐 Gecko
IE Trident
Edge EdgeHTML
备注:360的浏览器,以前使用的IE浏览器的Trident内核,但是现在已经改为使用
chrome 浏览器的 Blink内核。
另外,移动端的浏览器内核是什么?大家可以自行查阅资料。
内核分类:
Trident:
该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11,也被普遍称作”IE内核”。
Trident内核的常见浏览器有:
IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident
6.0);360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink)猎豹极轻浏览器,360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink)猎豹安全浏览器(1.0-4.2版本为Trident+Webkit,4.3及以后版本为Trident+Blink)猎豹极轻浏览器,傲游浏览器(傲游1.x、2.x为IE内核,3.x为IE与Webkit双核)、百度浏览器(早期版本)、世界之窗浏览器(最初为IE内核,2013年采用Chrome+IE内核)、2345浏览器、腾讯TT、淘宝浏览器、采编读浏览器、搜狗高速浏览器(1.x为Trident,2.0及以后版本为Trident+Webkit)、阿云浏览器(早期版本)、瑞星安全浏览器、Slim
Browser、 GreenBrowser、爱帆浏览器(12
之前版本)、115浏览器、155浏览器、闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器、速达浏览器、佐罗浏览器、海豚浏览器(iPhone/iPad/Android)、UC浏览器(Blink内核+Trident内核)等。其中部分浏览器的新版本是”双核”甚至是”多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做”高速浏览模式”或”极速模式”,而Trident则是”兼容浏览模式”,用户可以来回切换。
Gecko:
Gecko的特点是代码完全公开,因为这是个开源内核,因此受到许多人的青睐,这也是Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。不过事实上,Gecko
内核的浏览器仍然还是Firefox (火狐)
用户最多,所以有时也会被称为Firefox内核。
Gecko内核常见的浏览器: Mozilla Firefox、Mozilla
SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon
Presto (已废弃):
Opera12.17及更早版本曾经采用的内核,现已停止开发并废弃。Opera现已改用Google
Chrome的Blink内核。
Webkit:
Webkit(Safari内核,Chrome内核原型,开源):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。
Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎。
WebKit内核常见的浏览器:傲游浏览器3、Apple Safari
(Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器。
Blink:
由Google和Opera
Software基于Webkit引擎研发的排版引擎。2013年4月3日,谷歌在Chromium
Blog上发表博客,称将与苹果的开源浏览器核心Webkit分道扬镳,在Chromium项目中研发Blink渲染引擎(即浏览器核心),内置于Chrome浏览器之中。
2、JS 引擎
也称为 JS 解释器。 用来解析网页中的JavaScript代码,对其处理后再运行。
浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行
JS 代码 。JS
引擎执行代码时会逐行解释每一句源码(转换为机器语言),然后由计算机去执行。所以
JavaScript 语言归为脚本语言,会逐行解释执行。
常见浏览器的 JS 引擎如下:
浏览器 JS 引擎
chrome / 欧鹏 V8
Safari Nitro
Firefox 火狐 SpiderMonkey(1.0-3.0)/ TraceMonkey(3.5-3.6)/
JaegerMonkey(4.0-)
Opera Linear A(4.0-6.1)/ Linear B(7.0-9.2)/
Futhark(9.5-10.2)/ Carakan(10.5-)
IE Trident
参考链接:
浏览器工作原理
这一小段有些深入,小白可以暂时跳过,以后再来看。
1、User Interface 用户界面,我们所看到的浏览器。
2、Browser engine 浏览器引擎,用来查询和操作渲染引擎。
3、Rendering engine 用来显示请求的内容,负责解析HTML、CSS。
4、Networking 网络,负责发送网络请求。
5、JavaScript Interpreter(解析者)
JavaScript解析器,负责执行JavaScript的代码。
6、UI Backend UI后端,用来绘制类似组合框和弹出窗口。
7、Data Persistence(持久化) 数据持久化,数据存储
cookie、HTML5中的sessionStorage。
参考链接:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!