浏览器内核Trident/Gecko/WebKit/Presto
“浏览器内核”主要指渲染引擎(Rendering Engine),负责解析网页语法(如HTML、JavaScript)并渲染、展示网页。因此,所谓的浏览器内核通常也就是指浏览器所采用的渲染引擎, 渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解析也有所不同,因此同一网页在不同的内核浏览器里的渲 染、展示效果也可能不同。
浏览器内核种类繁多,商用的加上非商业的免费内核,大约会超过10款,我们今天重点看一下目前主流的四大浏览器内核Trident、Gecko、WebKit以及Presto。
一、Trident内核(代表:Internet Explorer)
说起Trident,很多人都会感到陌生,但提起IE(Internet Explorer)则无人不知无人不晓,由于其被包含在全世界使用率最高的操作系统Windows中,得到了极高的市场占有率,所以我们又经常称其为IE内核。
Trident(又称为MSHTML),是微软开发的一种排版引擎。它在1997年10月与IE4一起诞生,一直在被不断地更新和完善。而且除IE外,许多产品都在使用Trident核心,比如Windows的Help程序、RealPlayer、Windows Media Player、Windows Live Messenger、Outlook Express等等都使用了Trident技术。
Trident实际上是一款开放的内核,Trident引擎被设计成一个软件模块,使得其他软件开发人员很容易将网页浏览功能加到他们自行开发的应用程序里,其接口内核设计相当成熟,因此涌现出许多采用IE内核而非IE的浏览器,但是Trident只能用于Windows平台。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Sleipnir、GOSURF、GreenBrowser和KKman等。
二、Gecko内核(代表:Mozilla Firefox)
Gecko是开放源代码、以C++编写的网页排版引擎,目前被Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。这款软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。由于Gecko的特点是代码完全公开,因此,其可开发 程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,采用Gecko内核的浏览器也很多,这也是 Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。
Gecko排版引擎提供了一个丰富的程序界面以供与互联网相关的应用程序使用,例如网页浏览器、HTML编辑器、客户端/服务器等。虽然最初的主要对象是Mozilla的衍生产品,如Netscape和Mozilla Firefox,但是现在已有很多其他软件利用这个排版引擎。此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux和Mac OS X中使用。
正在和曾经使用Gecko引擎的浏览器有Firefox、网景6~9、SeaMonkey、Camino、Mozilla、Flock、Galeon、K-Meleon、Minimo、Sleipni、Songbird、XeroBank。Google Gadget引擎采用的就是Gecko浏览器引擎。
三、WebKit内核(代表:Safari、Chrome)
WebKit 是一个开放源代码的浏览器引擎(Web Browser Engine),WebKit最初的代码来自KDE的KHTML和KJS(它们均为开放源代码,都是自由软件,在GPL协议下授权)。所以WebKit也 是自由软件,同时开放源代码。它的特点在于源码结构清晰、渲染速度极快。主要代表产品有Safari和Google的浏览器Chrome。
WebKit内核在手机上 的应用也十分广泛,例如Google的Android平台浏览器、Apple的iPhone浏览器、Nokia S60浏览器等所使用的浏览器内核引擎,都是基于WebKit引擎的。 WebKit内核也广泛应用于Widget引擎产品,包括中国移动的BAE、Apple的Dashboard以及Nokia WRT在内采用的均为WebKit引擎。
四、Presto内核(代表:Opera)
Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。Presto的特点就是 渲染速度的优化达到了极致,它是目前公认的网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。
Presto实际上是一个动态内核,与Trident、Gecko等内核的最大区别就在于脚本处理上,Presto有着天生的优势,页面的全部 或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行JavaScript时有着最快的速度,根据同等条件下的测试,Presto内核执行同等JavaScript所需的时间仅有Trident和Gecko内核的约1/3。Presto是商业引擎,了Opera以外较少浏览器使用Presto内核,这在一定程度上限制了Presto的发展。
转载于:https://www.cnblogs.com/zhwl/p/3200391.html
浏览器内核Trident/Gecko/WebKit/Presto相关推荐
- 目前主流的四大浏览器内核Trident、Gecko、WebKit以及Presto
浏览器最重要或者说核心的部分是"Rendering Engine",可大概译为"渲染引擎",不过我们一般习惯将之称为"浏览器内核".负责对网 ...
- 各种浏览器内核的区别
一.浏览器内核 Rending Engine, 顾名思义,称之为渲染网页内容的,将网页的代码转换为你看得见的页面,因为是排版,所以排版,所以肯定会有排版错误等问题.为什么会有排版错误呢,一部分是由于网 ...
- 浏览器内核差异-转载前端极客
一.浏览器内核 Rending Engine, 顾名思义,称之为渲染网页内容的,将网页的代码转换为你看得见的页面,因为是排版,所以排版,所以肯定会有排版错误等问题.为什么会有排版错误呢,一部分是由于网 ...
- 各种浏览器内核的比较
转自:http://blog.csdn.net/anddy926/article/details/7442369 一.浏览器内核 Rending Engine, 顾名思义,称之为渲染网页内容的,将网页 ...
- 主流的浏览器内核种类?, 对前端的影响?
什么是浏览器内核? 1 浏览器讷河可以理解为排版引擎, 主要由渲染引擎和JS引擎. 2.排版引擎主要是负责获取网页内容(HTML,XML, CSS, JS, 图像)等信息进行解析, 渲染网页, 将网页 ...
- 浏览器内核 五大浏览器内核
浏览器最重要或者说核心的部分是"Rendering Engine",可大概译为"渲染引擎",不过我们一般习惯将之称为"浏览器内核".负责对网 ...
- 对浏览器内核的理解和常见的浏览器内核
介绍一下你对浏览器内核的理解?常见的浏览器内核有哪些? 答.要或者说核心的部分是"Rendering Engine",可大概译为"渲染引擎",不过我们 一般习惯 ...
- 目前主流浏览器、浏览器内核和兼容问题的解决方案
常见的浏览器 谷歌 - Google Chrome火狐 - Mozilla Firefox欧朋 - Opera苹果 - Safarie浏览器 - Internet Explorer 浏览器内核 Tri ...
- 浏览器内核、渲染引擎、x86与RAM架构等基本概念
什么是浏览器内核 负责对网页语法的解释(如HTML.JavaScript)并渲染显示网页. 浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine ...
最新文章
- oracle 9i 在安装到Oracle Database Configuration assistant....的时候
- linux sqlplus 密码有$
- wireshark 抓包显示 TCP segment of a reassembled PDU的问题
- Redis常用命令之操作List类型
- lca---tarjan算法
- IImage--factory
- VS2013打开项目出现未找到与约束contractname 匹配的导出的错误
- MySQL环境变量的配置(详细教程)
- 大气校正后的ndvi_ENVI下高分一号WFV数据FLAASH大气校正
- 【存储】超融合(HCI)和云是什么以及区别
- mysql存储过程(通俗易懂)
- 可移动磁盘双击打不开怎么办
- jeecms oracle v5_jeecms 基本架构研究
- Visual Studio 2017美化(修改字体,图片背景)
- vue自定义指令—directive详解
- 网络对抗技术_实验四_恶意代码技术
- linux 的top命令详解
- 【Flutter实战】移动技术发展史
- 小花梨的取石子游戏 ( 博弈 )
- 紧急求助!!!!VUE页面,V-SHOW的判断条件改变了但是页面没有实际变化
热门文章
- c语言队列如何表示,队列的链式表示和实现(C语言)
- linux修改bmc ip,RH1288 V2修改BMC IP不生效处理案例
- matlab中normfit,MATLAB中如何得到一组统计数据的分布特征
- java web 调用hadoop_Java及Web程序调用hadoop2.6
- java中json重复数据结构_JS实现去除数组中重复json的方法示例
- 判断字符串不包含某个字符php,java判断字符串是否包含某个字符的方法
- java super是引用变量吗_Java中super的几种用法并与this的区别
- 什么是self-attention、Multi-Head Attention、Transformer
- 卷积神经网络原理图文详解
- java aio_java中的AIO