首页/文章/浏览器

浏览器内核到底有哪些?它们各自又有什么区别?

2025-07-30
16176 分钟
...

这问题其实很多刚入行的同学经常搞混,所以今天我来一次性讲明白——浏览器内核到底有哪些?它们各自又有什么区别?

说白了,浏览器内核就是浏览器的大脑,分两部分:

  • 渲染引擎(Rendering Engine):负责网页的排版渲染,HTML、CSS统统交给它。

  • JS引擎(JavaScript Engine):处理JavaScript脚本逻辑,比如你点按钮后弹出对话框这种行为。

1)常见浏览器内核盘点

下面我直接列几个主流的浏览器内核,顺便标注下代表浏览器:

  1. Blink(Chrome内核)
  • 代表浏览器:Google Chrome、新版Microsoft Edge、Opera、Brave、Vivaldi等

  • 前身:是WebKit的一个分支,由Google主导开发

  • 特点:速度快、标准支持全面、生态最强!可以说大半个地球都在用这个内核。

这个真的牛啊,性能优化一波接一波,比如页面预加载、V8引擎配合使用,很多Web开发的“标准”,基本都先在Blink阵营里试验。

  1. WebKit(Safari内核)
  • 代表浏览器:Apple Safari、早期的Chrome(没错Chrome刚出时是WebKit)

  • 特点:苹果亲儿子,对macOS和iOS系统适配最好,资源占用少,但对一些新标准支持慢半拍。

我试过在Mac下用Safari调试网页,体验其实还行,但一到复杂页面,调试工具跟不上Chrome,略显捉急……

  1. Gecko(Firefox内核)
  • 代表浏览器:Mozilla Firefox

  • 特点:开源,支持标准完整,有些API实现得比Chrome还早!

我之前做Web插件开发时,就被Gecko内核感动过:扩展性非常强,但就是用户群少了点,市占率被Chrome打爆了……

  1. Trident(IE内核)
  • 代表浏览器:Internet Explorer(IE6~IE11)

  • 特点:早期主流,后来成了前端开发者的噩梦!兼容性问题一大堆!!!

我之前做政府项目,还遇到要求必须支持IE9的,页面写一半感觉人生走到了尽头……啥都要特判一堆hack……

  1. EdgeHTML(旧版Edge内核)
  • 代表浏览器:Windows 10 早期自带的Edge

  • 特点:微软想自己搞一套新内核,最后折腾不过Chrome,宣布投降,切换到Blink。

EdgeHTML我没怎么认真用过,公司内测了一次,结果前端同事一脸绝望:页面不炸就不错了……

有小伙伴私信我想要RPA编程教程,我最近找到了一个免费学习RPA网站,提供给大家免费学习

完全免费:songshuhezi.com/rpa.html

2)还有一些冷门/实验内核(了解下)

虽然主流就那几个,但其实还有一些其他的内核,你可能听过:

  • Presto:Opera老版本的内核,现在基本淘汰了。

  • Servo:Mozilla搞的Rust写的实验性引擎,后来停摆了,不过理念先进。

  • KHTML:WebKit的爹,最初由KDE团队开发,现在也没人维护了。

3)总结一张图,核心全在这 0b845585d70261f7646df4e0d3e736d3.png 4)开发时需要注意的事 开发Web应用时,兼容性是永恒话题,这里分享几个我踩过的坑:

  • flex 布局早期在IE根本不支持,写了一堆-ms-前缀。

  • position: sticky 在老版本Safari完全无效。

  • WebRTC 在Safari下坑超级多,iOS端问题尤其多。

  • 用Vue做H5页面时,iPhone 12 Safari突然渲染不出圆角按钮,排查半天原来是WebKit的一个旧Bug……

最后总结一下

1)浏览器内核主要就三大派:Blink、WebKit、Gecko,其他基本淘汰或边缘化。

2)Blink现在是霸主,Chrome系一家独大,但也带来“内核垄断”问题。

3)Web开发还是要注意不同内核的兼容性差异,尤其是老版本IE或者Safari。

4)我建议调试时用Chrome为主,Safari和Firefox为辅,IE能不碰尽量别碰。

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
浏览器2025-03-07
浏览器缓存及优化手段
前言 当我们通过url首次访问某个网站的时候,我们如果使用浏览器的工具查看网络请求,会发现有很多http请求,但是当我们下一次再访问时,这些请求都不会发送而是展现在了页面上,而这就是浏览器缓存发挥的作用。 浏览器缓存 浏览器缓存是指将页面长时间不更新的资源缓存到浏览器上,下次访问页面时该部分长时间不更新的资源直接从缓存中获取,从而减少了网络请求次数,提高了页面的加载速度。浏览器的缓存方式主要分为两种: 强缓存 和 协商缓存 ,下面将为大...
学习面试
浏览器2024-09-10
深入理解浏览器的事件循环机制
在现代Web开发中,JavaScript作为浏览器中最常用的编程语言,其执行机制深刻影响着Web应用的性能和用户体验。事件循环(Event Loop)作为JavaScript处理异步操作的核心机制,是理解JavaScript执行模型的关键。本篇文章从多个维度去分析事件循环的机制,希望可以帮大家更加深入的了解它。 在讨论事件循环之前,理解浏览器的执行环境是至关重要的。浏览器是一个多线程环境,包含以下主要线程: GUI 渲染线程(GUI R...
学习面试
浏览器2024-09-02
优化浏览器渲染主线程的 api 都有哪些?怎么用?
为了提高浏览器的性能和用户体验,现代浏览器采用了一些技术来优化主线程的执行。主要有: setTimeout 延迟加载 (使用不当可能适得其反) web worker 多线程 (不能操作dom,主要计算密集型的任务) requestIdleCallback 帧空闲时运行 (react18带🔥的,低优先级任务) requestAnimationFrame 每帧都会运行 (主要做动画效果调优) setTimeout 延迟加载非常常见,但是它...
学习面试
浏览器2024-07-25
图解浏览器的多进程渲染机制
观察浏览器的任务管理器可以发现,打开浏览器的一个页面需要多个进程,包括浏览器进程、GPU进程、网络进程、渲染进程等,有插件的话还会包括各种插件进程(Chrome选项 更多工具 任务管理器)。 本文将聚焦于 浏览器的各个进程间是如何配合,将页面呈现给用户的。 📌 你将了解到 1. 浏览器在历史发展过程中,其进程架构做了哪些调整,为什么这样调整,以及解决了哪些问题? 2. 从用户在地址栏输入URL,到页面渲染完成这之间发生了什么?回流和重...
学习面试
浏览器2024-06-11
localStorage是同步还是异步的?为什么
点赞 \+ 收藏 === 学会🤣🤣🤣 首先明确一点,localStorage是同步的 是 Web Storage API 的一部分,它提供了一种存储键值对的机制。 的数据是持久存储在用户的硬盘上的,而不是内存。这意味着即使用户关闭浏览器或电脑, 中的数据也不会丢失,除非主动清除浏览器缓存或者使用代码删除。 当你通过 JavaScript 访问 时,浏览器会从硬盘中读取数据或向硬盘写入数据。然而,在读写操作期间,数据可能会被暂时存放...
学习面试
浏览器2024-04-15
构建浏览器工作原理知识体系(开篇)
本文为稀土掘金技术社区首发签约文章,30天内禁止转载,30天后未获授权禁止转载,侵权必究! 作为一个前端工程师,浏览器是我们密不可分的朋友,想要深耕前端,就必须和浏览器“交心”💞。 为什么你觉得偶尔看浏览器的工作原理,但总是忘呢😵‍💫,因为你没有形成一个完整的知识网络,你的记忆是碎片化的。正如人的神经网络,只有当你的记忆相互依赖,相互链接,才能形成长期稳定的记忆。 所以本文我将用一条知识线将浏览器工作原理的知识串联起来,因为本文的...
学习面试

评论

请登录后发表评论

去登录
加载评论中...