网页浏览器的“内核”与“外壳”[z]

注:现在无论在工作中还是在生活中浏览器都占据着非常重要的作用,但是浏览器大致有哪些分类,什么是内核,什么是外壳这些问题却可能不是很清楚,正好在CSDN上看到这篇文章,推荐给大家看看。另外还有一个比较简洁的介绍,也贴过来同大家分享。 ============================================================
 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。

不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

几种常见的浏览器内核简介:

  1. Trident:Windows 下的 IE 浏览器使用的内核代号。除 IE 外,众多的 IE Shell(如 Maxthon )都使用这个内核。
  2. Gecko:Mozilla Firefox 浏览器使用的内核代号。使用 Gecko 内核的浏览器也有不少,如 Netscape 、MozillaSuite/SeaMonkey 等。另外,Mozilla Thunderbird 也使用 Gecko 。
  3. Presto:Opera 浏览器使用的内核代号,这是目前公认网页浏览速度最快的浏览器内核。
  4. KHTML/WebCore: Konqueror/Safari 浏览器使用的内核代号。Konqueror 是 X 协议下的 KDE 桌面环境使用的浏览器和资源管理器,可以用在 Unix/Linux/BSD 系统中,据说 KDE 4.0 以后会有向 Windows 移植的计划;Safari 则是 Apple 用户中最受欢迎的浏览器。 

================================================================
    自从网页浏览器诞生之日起,各公司间的竞争、各“派别”拥护者之间的争吵,就从未停止过。A1:“内核”只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用)。

  自从网页浏览器诞生之日起,各公司间的竞争、各“派别”拥护者之间的争吵,就从未停止过。直至今日,包括Internet Explorer、Firefox、Safari、Opera、Maxthon等各式各样的网页浏览器在市场上争奇斗艳,好不热闹。当然这其中也少不了恶意垄断、枪手炒作、网友争论等等。

  事实上,还有很多人对浏览器的一些特性还不甚了解,所以就会有诸如“MT再好也只是一个壳”“有本事像FF那样自己弄内核去”“FF比IE的安全性高多了”这样的言论。起初,我对这些也不甚了解,也不愿参与这些争论。后来我慢慢地接触到了一些关于浏览器的东西,不敢独享,整理出来以FAQ的形式和大家分享,希望能提高大家对网页浏览器这种软件的认知度。

  Q1:经常听人家说什么浏览器“内核”和“外壳”,它们都是什么意思?

  A1:“内核”只是一个通俗的说法,其英文名称为“Layout engine”,翻译过来就是“排版引擎”,也被称为“页面渲染引擎”(下文中各种说法通用)。它负责取得网页的内容(HTML、XML、图像等等)、整理信息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要排版引擎。

  而浏览器的“外壳”便很好理解了,它是一个面向用户的界面,也就是网页浏览器为我们实现的各种功能。

  Q2:浏览器的内核有哪些?

  A2:事实上,有很多种(废话!),但是常见的有Trident、Gecko、WebCore、Presto等。

  Q3:Trident是什么内核?

  A3:Trident(又称为MSHTML),是微软开发的一种排版引擎。它的第一个版本随着1997年10月Internet Explorer第四版的发布而发布。随后,Trident不断地被更新和完善:

  Trident II(IE5)——增进对CSS1.0的支持及对CSS2重大的变更

  Trident III(IE5.5)——修正部分CSS的排版控制

  Trident IV(IE6)——修正了一部分box-model的错误以及增加了“兼容模式(Quirks Mode)”切换功能,以增加对文件类型描述(Document Type Definition,DTD)的支持

  Trident V(IE7)——修正许多CSS排版处理上的错误以及增加对PNG格式alpha通道(半透明)的支持

  不光是IE,Windows中的许多地方也使用了Trident的技术,包括从Windows 98到Windows Server 2003所有版本的Windows Explorer、Windows 98及其后续所有版本的视窗操作系统内的Windows Help程序。此外,像RealPlayer、Windows Media Player、Windows Live Messenger、Outlook Express等等也使用了Trident技术。也正因为如此,Trident无法从Windows系统中彻彻底底地卸载掉,就算是彻底卸载了,Windows的许多功能也会出现问题。

  使用Trident内核的网页浏览器有:AOL Explorer、Avant、Internet Explorer、Maxthon、Netscape Browser (v.8)、Sleipnir、TheWorld、腾迅TT等。

  Q4:Gecko是什么内核?

  A4:Gecko是套开放源代码的、以C++编写的网页排版引擎。这软件原本是由网景通讯公司开发的,现在则由Mozilla基金会维护。

  由于Gecko是开源的,所以使用Gecko的网页浏览器也很多,其中的领军人物便是Mozilla Firefox。此外还有AOL for Mac OS X、Camino、Epiphany、Flock、Galeon、Netscape Browser (v.8)、Sleipnir、Maxthon等。

  Q5:WebCore是什么内核?

  A5:WebCore是苹果公司开发的排版引擎,它是在另外一个排版引擎“KHTML”的基础上而来的。苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的WebCore及WebKit引擎,它们均是KHTML的衍生产品。使用WebCore的主要有Safari,此外还有OmniWeb、Shiira、Swift等。

  Q6:Presto是什么内核?

  Q6:Presto是一个由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。此外,Macromedia Dreamweaver (MX版本及以上)和Adobe Creative Suite 2也使用了Presto的内核。

  Q7:(强烈推荐)浏览器的内核和外壳有什么联系?

  A7:刚才已经说到,内核负责处理网页的内容,而外壳负责提供给用户一些功能。外壳的某些功能是需要联系到内核的,比如保存网页上的图片;而有些功能是不需要经过内核的,比如前进后退功能(当然,在载入了URL以后还是需要经过内核的)。

  相信大家都使用过XP中控制面板里的“用户帐户”功能,这实际上可以给我们一个更加感性的认识。用户帐户的操作界面实际上就是一个小型且功能单一的网页浏览器,它通过调用IE内核来显示主界面,而上方的“上一步”“下一步”等按钮便是浏览器外壳所提供的功能。

  说到这里,我们可以回看文章开头提到的一些网友的言论。有些人认为,Maxthon仅仅是附庸在IE之上的一个浏览器,根本不值得和IE、Firefox相提并论。这其实并不妥当。首先,Maxthon是支持Trident和Gecko双内核的(支持Gecko内核时需要单独安装Gecko组件,而且目前的2系列貌似没有Gecko内核支持),所以它并不是“IE的附庸”。此外,我们已经知道,浏览器分有内核和外壳两部分。以这个眼光来看,Maxthon是Maxthon Shell+Trident(或Gecko),而Internet Explorer是IE Shell+Trident,Firefox是FF Shell+Gecko,这三款浏览器的地位实际上是一样的。只不过IE Shell和Trident都是微软开发,而FF Shell和Gecko都是Mozilla基金会在维护。同时,说IE是“IE内核”,FF是“FF内核”也是不准确的,毕竟弄IE Shell和Trident的肯定不是微软的同一个小组,而FF Shell和Gecko肯定也不是Mozilla基金会的同一个小组在维护(更何况Gecko原来也不是Mozilla开发的,原先Mozilla只是网景公司的非正式组织)。当然不可否认,拥有了内核和外壳的微软和Mozilla,在开发浏览器的能力方面肯定是要高于Maxthon的,Maxthon不可能掌握到关键技术。

  Q8:各种内核哪一个更好一点呢?

  A8:哪一个更好,这个问题的确很难回答,应该说是各有侧重点。Trident内核使用最多,因此很多网页甚至只兼容Trident内核,而导致使用Gecko时会出现各种各样的问题。但是Trident也是最“乱”的一个内核。而Gecko、WebCore、Presto则更符合各种国际标准,显得更加“严谨”。

  Q9:各种内核都有些什么不同呢?

  A9:这个问题,在wikipedia上有非常详细的说明。现把相关链接列表如下:

  排版引擎比较(概述)

  排版引擎比较(HTML)

  排版引擎比较(XML)

  排版引擎比较(XHTML)

  排版引擎比较(图形)

  排版引擎比较(CSS)

  排版引擎比较(DOM)

  排版引擎比较(WHATWG)

  排版引擎比较(ECMAScript)

  排版引擎比较(SVG)

  Q10:有没有什么组织对排版引擎做测试的呢?就像杀毒软件界的VB100%那样?

  A10:还真有这么一个组织,它叫做网页标准计划小组(Web Standards Project)。他们推出了一个综合测试的网页,取名为Acid。由于现在的是第二版,所以又叫Acid2。

  该测试页透过严谨的编码,可快速辨认网页排版的漏洞,而测试要求是排版引擎需能排出如下图中的笑脸,在测试刚推出时,没有一个浏览器可排出要求的图像。

  

  

  目前能够完全显示出正确图形的浏览器有:Safari 2.0.3、Konqueror 3.5、Opera 9、Mozilla Firefox 3.0 Alpha、iCab、Prince 5.1等。下面列出了其他未通过浏览器的表现(图片属于Public Domain)

  

  

  ↑Acid2在IE6下的表现

  

  

  ?

  ↑Acid2在IE7下的表现

  ?

  

  

  ↑Acid2在FireFox1.5和2.0版本下的表现

  

  

  ↑Acid2在Netscape7.2下的表现

  如果大家有兴趣,也可以去测试测试。Acid2的测试网址在:http://www.webstandards.org/files/acid2/test.html。

  具体的测试技术详解在:http://www.webstandards.org/action/acid2/guide/。

  通过前面10个问题的解答,相信大家已经对网页浏览器的内核和外壳,特别是内核,有了更深的了解。我同时希望各位今后在讨论问题的时候少一点激进,多一点文明,少一点无赖,多一点睿智。

 

 

Quest 2浏览器+WebXR:构建可交互VR网页的实战指南 VR网页开发正从概念走向工程落地,其核心是WebXR标准空间化浏览器的深度结合。WebXR并非简单3D化网页,而是通过空间坐标系映射、实时姿态追踪射线检测,赋予网页原生的空间感知交互能力;而Oculus Quest 2作为主流standalone VR设备,凭借定制Chromium内核、双视口渲染管线离线PWA支持,成为当前最稳定的消费级WebXR运行平台。技术价值在于复用现有Web技术栈(HTML/CSS/JS/Three.js)快速构建无需安装、跨设备分发的空间应用;典型场景覆盖教育可视化、工业 阅读详情

相关推荐

AI Browser Operator:浏览器内核级语义化自动化新范式

浏览器自动化正从‘像素点击’迈向‘语义理解’——传统Web自动化依赖脆弱的选择器静态截图,而现代SPA、动态ID和沙箱隔离使其频繁失效。AI Browser Operator通过在Chromium渲染引擎层集成轻量多模态模型,实现DOM结构、视觉特征文本意图的联合解析,赋予浏览器原生‘看-想-动’能力。其核心技术价值在于绕过扩展沙箱、支持意图驱动操作、内置三重执行校验,显著提升金融、电商、RPA等场景下的稳定性泛化性。本文聚焦Opera AI Browser Operator如何以语义化操作和无脚本自

weixin_30172941的博客 433

封装浏览器外壳

.Net本身包含WebBrower控件 可惜内核IE http://www.cnblogs.com/M-Silencer/p/5846494.html 参考以上文章: 通过一些控件可以再窗体中嵌入webkit内核浏览器。 目前在尝试CefSharp JS 相互调用 https://blog.csdn.net/u010085423/article/details/7276597...

五菱包工头 4213

Unity内嵌WebXR浏览器:基于3D WebView实现AR/VR网页交互

在现代应用开发中,混合应用架构通过结合原生应用的性能优势和Web技术的灵活性,成为实现跨平台功能的重要方案。其核心原理在于利用嵌入式浏览器内核(如CEF)在原生容器中渲染网页内容,并通过桥接技术实现JavaScript原生代码的双向通信。这一技术价值在于能够复用庞大的Web生态资源,同时保持对本地硬件设备的深度访问能力,特别适用于需要快速迭代内容、降低部署成本的场景。在AR/VR领域,WebXR标准为网页端访问XR设备提供了统一API,使得开发者能够构建基于浏览器的沉浸式体验。本文聚焦于Unity引擎,详

weixin_34341117的博客 568

webview和android做,Android Studio 制作一个 WebView 外壳

背景做为一条BS狗,开发应用当然趋向于BS,为了方便维护,降低开发成本,决定只做一个webview做为程序入口,所有的功能页面集中在服务端。本次踩坑遇到了 js不支持、点击返回直接退出应用、https/http混杂模式不支持等小坑,具体解决全部都在下面的代码中,请各位看官慢用。工具Android Studio3.2过程1、新建一个FullScreen项目,命名为GodOne2、应用配置:app/m...

weixin_39995280的博客 381

webkit入门准备

《webkit入门准备》 1.      C++ a)        Webkit代码风格 b)        Inline c)        Const d)        构造析构 e)        重载 f)         继承 2.      泛式编程 a)        Vector/List/HashTable b)        Iterator c) 

雪峰流云 1322

webkit学习大纲

《webkit入门准备》 1.      C++ a)        Webkit代码风格 b)        Inline c)        Const d)        构造析构 e)        重载 f)         继承 2.      泛式编程 a)        Vector/List/HashTable b)        Iterator c) 

小狗狗的专栏 777

nwjs编写浏览器外壳

nwjs编写浏览器外壳某些展示性的网站,例如地铁用于路线指引的网站、社区办理大厅的流程指引网站,都需要浏览器全屏展示(F11)。使用浏览器全屏会有以下弊端: - 页面跳转左下角会显示跳转地址 - 点击页面会出现鼠标点 - 闪屏之前了解过node-webkit,现在改成nwjs,所以使用nwjs编写浏览器全屏外壳,nwjs的优点在这里就不重复了,有兴趣可以访问官网。配置文件说明nwjs/ │

Ryron的博客 2660

主流浏览器以及兼容问题

一、主流浏览器 浏览器可以分为两部分,外壳+内核。其中外壳的种类相对比较多,内核则比较少。 外壳: Shell,浏览器外壳:例如菜单,工具栏等。主要是提供给用户界面操作,参数设置等等。它是调用内核来实现各种功能的。 内核:   浏览器内核分成两部分:渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎,负责请求网络页面资源加以解析排版并呈现给用户 主要组件包括:  ...

zhangankang的博客 4121

Duilib集成WebKit内核浏览器控件(修复select标签隐藏异常问题)

select>

weixin_42613017的博客 707

关于浏览器那些事

浏览器四大引擎:Trident,Gecko,Presto,Webkit<br />引擎名称<br />创建者<br />软件许可<br />浏览器<br />Gecko<br />Netscape /Mozilla Foundation<br />MPL /GNU GPL /GNU LGPL<br />Mozilla Firefox<br />Trident<br />Microsoft<br />Proprietary<br />Internet Explorer<br />WebKit (Base

linric704的专栏 506

【龍魂系统 · 观澜浏览器AI联动架构协议 v1.0】 GuanLan Browser & AI-Integration Architecture Protocol

身份锚: #ZHUGEXIN⚡️2025-🇨🇳🐉⚖️♠️🧚🏼‍♀️❤️♾️-DEVICE-BIND-SOUL。鸿蒙版(ArkWeb+小艺)DNA追溯码: #龍芯⚡️2026-07-21-GUANLAN-BROWSER-V1.0-P0。DNA追溯码: #龍芯⚡️2026-07-21-GUANLAN-BROWSER-V1.0-P0。│ L1 观澜外壳:标签/书签/阅读模式/AI侧栏/看板 │ ← 人接触的一层。6.7 断网可用(GAP-05):本地书签/历史/摘要库/Ollama问答全可用;

UID9622的博客 72

App-less OS:浏览器内核的AI-first操作系统演进

操作系统正从进程隔离范式转向上下文感知运行时——App-less OS并非取消应用,而是将应用重构为按需加载、能力声明、AI增强的Web组件服务。其技术根基在于WebAssembly系统接口(WASI)、WebGPU统一图形栈、System Worker持久化后台机制Capability Token零信任权限模型。这种演进使浏览器不再只是渲染器,而成为具备内存管理、设备驱动、安全沙箱和AI推理能力的轻量级内核。开发者需掌握上下文契约设计、WASI系统编程、AI服务编排等新核心能力,以支撑金融、工业、医疗等

weixin_34409357的博客 398

html又一语言,Web前端的知识之旅哟——初识html

最近在复习以前学习的所有的前端知识点,总结一下,希望也对初学者有一些帮助。首先我们都听说过html,那么什么东西是html呢?• html的全称是hyperText markup language, 超文本标记语言,在网页中所有的文字图片和组织架构都是由html来编写的,当然html能够完成的工作不止有这些。• 需要注意的是html并不是一种编程语言,它只是一种计算机语言,html不具备像c/c+...

weixin_39644915的博客 154

李慕婉-仙逆-造相Z-TurboClaude对比分析:在代码生成图像生成上的异同

本文介绍了李慕婉-仙逆-造相Z-Turbo这一专注于图像生成的AI模型。用户可在星图GPU平台上实现该镜像的自动化部署,快速搭建AI绘画环境。该镜像的核心应用场景是根据文本描述生成高质量、富有艺术感的图片,例如为文章、设计项目或营销材料快速创建概念图视觉内容。

weixin_35189483的博客 147

黑丝空姐-造相Z-Turbo赋能低代码平台:在Dify中快速搭建角色图像生成应用

本文介绍了如何在星图GPU平台上自动化部署黑丝空姐-造相Z-Turbo镜像,并借助Dify低代码平台快速构建角色图像生成应用。用户无需编码即可通过可视化配置,将该模型能力转化为Web工具,实现根据文本描述自动生成特定风格角色图片的典型应用场景。

weixin_32098457的博客 203

AI浏览器本质:意图理解语义交互范式重构

浏览器正从‘渲染网页’的工具演变为‘理解用户意图’的智能代理。其核心在于将自然语言输入转化为可执行的语义契约,依托本地向量库实现上下文感知,并通过可操作语义块完成端到端任务闭环。这一转变超越了大模型调用表象,直指人机交互范式升级——不再依赖关键词搜索页面跳转,而是基于意图理解、动态上下文和细粒度交互实现信息主动适配。AI浏览器因此成为新一代数字工作流的基础设施,在电商比价、政务办事、学术研究等需多源协同实时决策的场景中展现不可替代的技术价值。

weixin_30596735的博客 398

Serverless Framework 如何用 appSync 配置部署 AWS AppSync GraphQL API 数据源?

如果你需要在 Serverless Framework 里用 AWS AppSync 托管一个 GraphQL API,并把查询挂到 DynamoDB、Lambda 等数据源上,整个过程只需要在 `serverless.yml` 中写一段 `appSync` 配置,然后执行一次 `serverless deploy`。Serverless Framework 已内置 AppSync 集成,不需要额

gitblog_00871的博客 249
上一篇: 关于Javascript中的事件--Event对象[z]
下一篇: 用java生成word文档[z]
liudaoru
博客等级 码龄18年 5粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值