浏览器内核有几种?深度解析浏览器内核工作原理和版本区别

你是否仔细观察过你的浏览器?如果你仔细观察过,你会发现它们都有一个内核版本号,例如长这样的:Chromium 94.0.4606.71

那么你知道什么是浏览器内核吗?这长长一串的版本号又是什么意思?浏览器不同的内核版本有什么区别吗?

一文告诉你浏览器内核版本那些事。

一、什么是浏览器内核

浏览器内核,可以理解为浏览器的心脏,是指浏览器最核心的部分,浏览器内核主要包含两部分:渲染引擎和JS引擎,但由于JS引擎越来越独立,浏览器内核就倾向于单指渲染引擎,所以我们常说的浏览器内核主要指的就是渲染引擎。渲染引擎的职责就是渲染,即在浏览器窗口中显示所请求的内容,通俗点说,就是决定了浏览器该如何显示网页内容以及页面的格式信息,所以也有人称之为排版引擎

二、浏览器内核的工作原理

浏览器内核的工作原理是将HTML、CSS和JavaScript 等 Web标准解析并渲染成浏览器中展示的网页内容。这过程中主要使用到的就是渲染引擎,下面简单介绍一下渲染流程:

用户输入URL整个过程发生了什么?

  1. 输入url
  2. 浏览器解析url,获得主机名
  3. 将主机名转换成服务器ip地址(查找本地DNS缓存列表,如果没有则向默认的DNS服务器发送查询请求)
  4. TCP 连接:TCP 三次握手,简易描述三次握手 客户端:服务端你在么? 服务端:客户端我在,你要连接我么? 客户端:是的服务端,我要链接。 连接打通,可以开始请求
  5. 发送 HTTP 请求
  6. 服务器处理请求并返回 HTTP 报文
  7. 断开连接:TCP 四次挥手

浏览器解析渲染页面的过程:

  1. 解析HTML,生成DOM树
  2. 解析CSS,生成CSSOM(层叠样式表模型:CSS Object Model)树
  3. 将DOM树和CSSOM树关联,生成渲染树(Render Tree)
  4. 布局render树(Layout/reflow),负责各元素尺寸、位置的计算
  5. 绘制render树(paint),绘制页面像素信息
  6. 将像素发送给GPU(图形处理器,是显卡的核心引擎),展示在页面上。(Display)

除了包含渲染引擎之外,浏览器内核中还包含有网络模块、存储模块和安全模块等其他模块,用于处理网络请求、本地存储、安全协议等功能,这些模块共同工作,使得浏览器能够提供丰富的Web体验和高效的性能。

三、市面上有多少个内核

小伙伴们现在都在用什么浏览器,360、QQ、多御?无论你用什么浏览器,你可以发现国内的这些主流浏览器的内核版本基本都是以Chromium开头的,这是为什么呢?

其实是因为我们的国产浏览器都没有自己自主研发的内核,而是基于别人的浏览器内核来开发,换言之,就是基于别人的浏览器内核套上自己的一层外壳,从而变成现在大家所能看到的浏览器,所以我们能够发现,现在市面上的主流浏览器在页面设计、使用操作、网页内容展示上都是几乎差不多的。

而为什么这些浏览器内核都是Chromium开头的,这就不得不提到浏览器的领导者,占据全球市场一半份额的巨头:谷歌浏览器,而Chromium就是指谷歌自主研发的内核名称,我们国内的浏览器正是基于谷歌内核而研发的。

其中,QQ、2345、搜狗浏览器则是基于谷歌旗下的Chromium内核和微软旗下的IE内核开发的,是双内核浏览器,双内核浏览器指一般网页用chrome内核打开,网银等指定的网页用IE内核打开(因为IE内核可兼容特殊网页)。

由此可以看出,浏览器的内核研发是如此的困难,不然我国怎么会连属于自己的内核版本都研发不出来。而谈到世面拥有自己内核的浏览器,也仅仅只有6个,它们分别是Chrome谷歌浏览器苹果的Safari浏览器微软的edge和IE浏览器Firefox火狐浏览器和Opera欧朋浏览器

四、浏览器内核发展史

跟大家简单唠一下这些浏览器内核的历史:

  1. IE浏览器内核:IE开发计划始于1994年夏天,是最古老的浏览器之一,微软为抵抗当时主流的网景浏览器,和Spyglass合作,于是IE从早期一款商业性的专利网页浏览器Spyglass Mosaic派生出来。1996年,微软从Spyglass中取得了Spyglass Mosaic的源代码和授权,从而使IE逐渐成为微软专属软件。它采用的排版引擎(俗称内核)为Trident,Trident内核也可称为IE内核。
  2. Edge浏览器内核:Edge作为IE的后继者,在刚推出时它采用edgeHTML内核进行渲染,这是一款基于trident进行开发的内核。但是最后edge还是转向使用chromium内核了。
  3. Safari浏览器内核:Safari是苹果公司开发的浏览器,于2003年问世,所用浏览器内核的名称是大名鼎鼎的WebKit,WebKit可以说是苹果给开源世界的一大贡献,基于此开源引擎,衍生了多个WebKit分支,如下面要介绍的Chrome的浏览器引擎。
  4. Chrome浏览器内核:谷歌Chrome浏览器从2008年创始至今一直使用苹果公司的WebKit作为浏览器内核原型,是WebKit的一个分支,我们可以称之为Chromium引擎。然而在13年发布的Chrome 28.0.1469.0版本开始,Chrome放弃Chromium引擎转而使用最新的Blink引擎,Blink是谷歌跟欧朋合作在webkit的基础上开发的,虽然引擎换了,但是依然是也可称为chromium内核。
  5. Opera浏览器内核:Opera浏览器始于1995年4月,源于挪威,也是浏览器元老级代表之一。Opera的一个里程碑作品是Opera7.0,因为它使用了自主开发的Presto渲染引擎。为了减少研发成本,Opera在2013年2月宣布放弃Presto,转而跟随谷歌使用WebKit分支的Chromium引擎作为自家浏览器核心引擎。在与谷歌合作推出Blink引擎(也是基于WebKit的分支)之后,Opera也紧跟其脚步表示将转而使用Blink作为浏览器核心引擎。
  6. Firefox浏览器内核:Mozilla Firefox是一个开源网页浏览器,原名是Firebird,2004年2月9日,Mozilla Firebird改名为Mozilla Firefox。1998年初,Mozilla计划开始执行。这个新的排版引擎名为Raptor,以开发源码的方式发放于互联网上。后来,因为商标问题,Raptor改名为NGLayout(即next generation layout之意)。而最后NGLayout又被重新命名为Gecko。

2022年6月15日,微软停止IE的支持,意味着trident内核使命的终结。由于不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的展示的效果也可能不同

现在,edge,Opera,Chrome都使用谷歌的chromium内核,而谷歌内核又是基于webkit的基础上开发的,和webkit内核属于同一分支。所以到时候市场内核只会存在火狐的gecko和谷歌的webkit系内核,网页标准将会趋于统一。

五、不同内核有什么区别

1.IE内核

Trident实际上是一款开放的内核,其接口内核设计的相当成熟,提供了大量接口、功能;Trident只能用于Windwos平台

优点:兼容所有网页,只有IE内核才能打开所有网页;占用内存及CPU更少。

  1. Webkit内核

Webkit 的特点在于源码结构清晰、渲染速度极快,性能好,对w3c标准的支持也很好。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。

优点:速度快,对标准的支持很强,资源占用少。

3.Chromium内核/Blink内核

Blink相对于WebKit来说,精简了代码,在针对DOM框架上更友善,安全性也有所提升。

优点:无广告、不易崩溃,速度快,几乎隐身,搜索简单,标签简单,更加安全。

4.Firefox内核(Gecko内核

Gecko的最大特点是跨平台,能在Microsoft Windows、Linux和MacOS X等操作系统上运行,而且它提供了一个丰富的程序界面以供互联网相关的应用程式使用,例如网页浏览器、HTML编辑器、客户端/服务器等等。

优点:风格简单,速度快,安全性高,拓展性强、程序员第二大浏览器等。

5.Presto内核(已弃用)

Presto对页面文字的解析方面的性能比webkit还要高,对页面有较高的阅读性;在处理JS脚本等脚本语言时,会比其他的内核快3倍左右。

优点:渲染速度的优化达到了极致,是目前公认网页浏览速度最快的浏览器内核。

六、内核版本号是什么意思

你知道浏览器内核版本号那长长一串的数字是代表什么意思吗?比如多御浏览器Chromium 91.0.4472.164,其实这是四段式版本号分别代表:主版本号 . 次版本号 . 构建计数 . 修订次数。版本号以“.”分割,越靠后的部分变动的越快。通常小的功能更新或者修改BUG重编译后会改动靠后的部分,越大的更新或者重大BUG修正就会更改前面的部分。例如:

“91”—主版本号:当功能模块有较大的变动,比如增加模块或是整体架构发生变化。

“.0”—次版本号,每当它有所增大,就意味着有新功能出现或者是某些原有功能得到改进。

“.4472”—构建计数,它代表当前版本是第几次编译的版本,按照Chromium每天好几个版本的速度,这个数字高达万级别也在情理之中。

“.164”—修订次数:一般是Bug的修复或是一些小的变动或是一些功能的扩充,修复一个Bug即可发布一个修订版。

七、不同的内核版本号有什么差别

介绍完了内核版本号代表的意思,那么不同的内核版本号到底有什么区别呢?我们先来看看下面这个表格。

从以上表格我们可以看出,不同的浏览器内核版本号是不相同的,主要区别在主版本号,有些是Chromium 91,有些是Chromium 108。根据以上介绍,我们知道,其实这些数字大小的实质区别就在于版本更新次数的区别而已,每更新一次版本,则代表一次旧功能的改进和新功能的加入。因此,版本号的数字越大,就代表版本越新,功能越多,速度越快,安全性更高,兼容性更强,上网体验可能就更好。

但实话说,无论高版本或低版本的浏览器内核对普通用户来说,所谓性能上的提升几乎是感知不到的。但是,如果版本实在过低,电脑就会有被入侵的风险,即使这是小概率事件,所以为了更安全、更全面的浏览体验,我们还是应该考虑升级一下浏览器版本的。

如何更新?打开浏览器设置菜单,点击“检查更新”,若是最新版则无需升级,若不是最新版,则根据提示更新即可。

好了,浏览器的内核版本那些事就介绍到这里了,不知道你看过之后对浏览器的内核是否会更了解一点呢?

猜你喜欢

转载自blog.csdn.net/ITduo/article/details/129882859