浏览器内核
1.什么是内核,及浏览器作用
- 浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示您选择的网络资源。这里所说的资源一般是指 HTML 文档,也可以是 PDF、图片或其他的类型。资源的位置由用户使用 URI(统一资源标示符)指定。浏览器解释并显示 HTML 文件的方式是在 HTML 和 CSS 规范中指的。这些规范由网络标准化组织 W3C(万维网联盟)进行维护。多年以来,各浏览器都没有完全遵从这些规范,同时还在开发自己独有的扩展程序,这给网络开发人员带来了严重的兼容性问题。如今,大多数的浏览器都是或多或少地遵从规范。
- 浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。
2.主流浏览器
主流浏览器是有一定市场份额且有自己独立研发内核的浏览器
份额排行:https://tongji.baidu.com/data...
IE/Edge,Chrome,Safari,Opera,Firefox
3.浏览器引擎列表
4.几大厂商浏览器内核简介
- IE/Edge:微软的IE浏览器浏览器更新至IE10后,伴随着WIN10系统的上市,迁移到了全新的浏览器Edge。除了JS引擎沿用之前IE9就开始使用的查克拉(Chakra),渲染引擎使用了新的内核EdgeHTML(本质上不是对Trident的完全推翻重建,而是在Trident基础上删除了过时的旧技术支持的代码,扩展和优化了对新的技术的支持,所以被看做是全新的内核)。
- Safari:Safari自2003年面世,就一直是苹果公司的产品自带的浏览器,它使用的是苹果研发和开源的Webkit引擎。Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来。Webkit2发布于2010年,它实现了元件的抽象画,提高了元件的重复利用效率,提供了更加干净的网页渲染和更高效的渲染效率。另外,Webkit也是苹果Mac OS X系统引擎框架版本的名称,主要用于Safari、Dashboard、Mail。
- Chrome:提到Chrome浏览器,一般人会认为使用的Webkit内核,这种说法不完全准确。Chrome发布于2008年,使用的渲染内核是Chromium,它是fork自Webkit,但把Webkit梳理得更有条理可读性更高,效率提升明显。2013年,由于Webkit2和Chromium在沙箱设计上的冲突,谷歌联手Opera自研和发布了Blink引擎,逐步脱离了Webkit的影响。所以,可以这么认为:Chromium扩展自Webkit止于Webkit2,其后Chrome切换到了Blink引擎。另外,Chrome的JS引擎使用的V8引擎,应该算是最著名和优秀的开源JS引擎,大名鼎鼎的Node.js就是选用V8作为底层架构。
- Firefox:火狐的内核Gecko也是开源引擎,任何程序员都能为其提供扩展和建议。火狐的JS引擎历经SpiderMonkey、TraceMonkey到现在的JaegerMonkey。其中JaegerMonkey部分技术借鉴了V8、JSCore和Webkit,算是集思广益。
- Opera:Opera在2013年V12.16之前使用的是Opera Software公司开发的Presto引擎,之后连同谷歌研发和选择Blink作为Opera浏览器的排版内核。
5.国内浏览器情况
国内浏览器厂商(QQ、2345、搜狗、猎豹、UC、360)也有一定的市场占有率。且大多数为双核
总结国内厂商内核来看,一般为三类:
一、使用的Trident单核,如:2345、世界之窗;
二、使用Trident+Webkit/Blink双核,如:qq、UC、猎豹、360、百度;
三、使用Webkit/Blink单核,如:搜狗、遨游。
双核浏览器通过WebKit内核来访问一些不需要进行网上交易的网站,使用起来速度更快更方便;双核浏览器在进行支付系统或者是网上银行的访问时,则使用的是Trident内核。这就是双核浏览器的高速模式和兼容模式。双核浏览器是一个不仅仅具有ie浏览器内核同时兼容非ie浏览器内核的浏览器,可以让用户在浏览器当中体验不同的需求。
相关推荐
baynkbtg 2019-12-23
lengyu0 2012-12-21
拭血 2019-07-01
Teresasmida 2018-03-17
ThinkMake 2016-11-21
羽化大刀Chrome 2016-01-18
HappyBlog 2019-06-26
zyytaiyame 2019-06-26
pworld 2013-11-24
gxyblue 2013-04-17
HealerJJJ 2012-07-06
notepaper 2012-01-31
notepaper 2011-12-14
RainyX 2020-07-26
程序员俱乐部 2020-06-28
icewizardry 2014-04-10
baynkbtg 2020-05-08
baynkbtg 2020-04-26