首页 > 浏览器内核Trident/Gecko/WebKit/Presto

浏览器内核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

更多相关:

  • 1.Tcpdive的基本原理 Tcpdive是基于linux内核的探测点机制,使用systemtap脚本语言和内嵌C代码来实现的。  通过定义几类相互关联的探测点和库函数,来收集和处理运行中内核的数据,以及修改内核的处理逻辑。 2.源码目录 https://github.com/fastos/tcpdive 目前的代码基...

  • 下面是我结合网上资料摸索出的可行的操作方法,记录在这样,以备后面继续研究。操作系统是CentOS 6.6 x86_64。 1.将内核版本升级到最新版 因为我机器上CentOS 6.6的内核版本号是2.6.32-573.12.1.el6.x86_64,网上根本找不到对应的kernel-devel,kernel-debuginfo和k...

  • 在基于CentOS平台的工作过程中,难免有时需要升级或者降级内核以验证功能、调试性能或者更新整个系统。 如果从头重新编译一个内核费时费力,另外加之现在内核特性越来越复杂,依赖的库或者工具也不少,找到一种简单的升级内核方法将非常必要。 下面是我实践过的最简单方法。 系统环境: CentOS 6.6 x86_64 1:查看系统版...

  • 关于系统目录树和源码目录树的结构图如下 内核版本: centos 7.0 升级内核之后 3.10.0-957-5.1.e17...

  • 下述为UCloud资深工程师邱模炯在InfoQ架构师峰会上的演讲——《UCloud云平台的内核实践》中非常受关注的内核热补丁技术的一部分。给大家揭开了UCloud云平台内核技术的神秘面纱。   如何零代价修复海量服务器的Linux内核缺陷?   对于一个拥有成千上万台服务器的公司,Linux内核缺陷导致的死机屡见不鲜。让工程师们纠结的...

  • 每次当selenium启动chrome浏览器的时候,chrome浏览器很干净,没有插件、没有收藏、没有历史记录,这是因为selenium在启动chrome时为了保证最快的运行效率,启动了一个裸浏览器,这就是为什么需要配置参数的原因,但是有些时候我们需要的不仅是一个裸浏览器。selenium启动配置参数接收是ChromeOption...

  •   当然有部分童鞋反映这样设置了以后,部分css样式表修改了还是不管用,那么我们就需要针对浏览器做点骚操作了: 1.chrome(谷歌浏览器) (1)、F12在调试页面Network中勾选Disable cache (2)、按F5或右键“重新加载”刷新页面内容 (3)、 使用Ctrl+Shift+R或者Ctrl+...

  • 我们的使命是让您了解最新和最酷的Web开发趋势。这就是为什么我们每个月都会发布一些精选的资源,这些资源是我们偶然发现并认为值得您关注的。 1.Tessaract.js 强大的javascript(节点和浏览器)库,用于从图像中提取文本。它能自动检测文本的位置和方向,识别60多种语言,包括中文、阿拉伯语和俄语等。 2.OverlayS...

  • vue 在浏览器控制台怎么调试 谷歌插件vue Devtools 问题: vuejs里面的变量,怎么用浏览器的console查看? 例如,想在chrome里用console.log查看变量$data,会显示undefined。 解决方案: 再main.js里面声明window.Vue = new Vue window.Vue = n...

  • 温馨提示:以下系列的面试题是通过整合网上各位大牛的文章而成,站在巨人的肩膀上,能够让我们更进一步。 1、页面从输入URL到页面加载显示完成,这个过程中都发生了什么? 输入域名地址发送域名地址至DNS服务器并获得对应WEB服务器IP地址与WEB服务器建立TCP连接服务器的永久重定向响应(从http://example.com到http:...

  • UE5 Niagara学习教程  课程获取:虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通-云桥网 你会学到什么 我将通过创建各种各样的实时效果来教你虚幻引擎中强大的粒子系统。 我们将从简单的基础知识开始,然后逐渐地,我们将创造更有吸引力和专业的效果。 本课程面向对Niagara一无所知的初学者或想要深入了解实FX游戏...

  • 从零开始学习虚幻引擎5中的实时VFX。   你会学到什么 了解如何创建实时效果 通过创造效果来学习Niagara 了解Niagara是如何运作的 为游戏创造各种各样的效果。 创造风格化的火 创建风格化的爆炸 创造能量球 MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根...

  • Unreal Engine 5: Blueprint Melee Combat AI from Scratch 创建一个动作游戏,以打击2个独特的人工智能,包括一个火蔓延龙! 你会学到什么 学习使用虚幻引擎5的技巧 如何通过蓝图设计和创建人工智能 学会创造两种独特的人工智能 学会在战斗中造成/接受伤害 流派:电子学习| MP...

  • 流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.93 GB |时长:5h 15m 了解如何使用Oculus Quest 2的蓝图在虚幻引擎4中从头开始构建基本的虚拟现实机制 你会学到什么 虚幻引擎蓝图基础 使用虚幻引...

  • 时长:1h 12m |视频:. MP4 1280×720,30 fps(r) |音频:AAC,48000 Hz,2ch |大小解压后:1.08G 含课程文件 语言:英语+中英文字幕(根据原英文字幕机译更准确) 在这节课中,你将学习如何在虚幻引擎5中从头开始创建AAA外观的场景。我将带你从构思到最终的构图和渲染,经历创造这个惊人...