打开浏览器

前端工程师打开浏览器一定要了解的知识

浏览器发展史

现在浏览器已经成为网上生活的重要家园和工具。

而从1991年,Web之父Tim Berners-Lee亲手设计第一个HTML浏览器开始,到现在HTML5大行其道,苹果、谷歌等创新企业引导潮流,恍若隔世。

曾经AOL收购Netscape后被大骂是“毁人不倦”,曾经也有很多人为IE写过“墓志铭”,曾经很多人还见证了Mozilla从出生到壮大,也曾惊讶于苹果Webkit的英明,而现在想起这一幕一幕,心中感慨万千。

当再一次翻开浏览器的发展史,我们很鲜明地发觉一个规律:*代有才人出,各领风骚仅几年。

后来者居上,似乎是浏览器市场的宿命。

下面以内核(Rendering Engine)的变革来简述一下过去几十年浏览器市场风云,个中的刺刀见红,值得玩味。为了不让这篇文章写成技术说明文,我还是尽可能说得简单通俗点。

浏览器内核

首先得搞懂浏览器内核究竟指的是什么。

浏览器内核英文叫做:Rendering Engine,中文翻译很多,排版引擎、解释引擎、渲染引擎,现在流行称为浏览器内核,至于为什么流行这么称呼,请自行领悟。

内核可以分成两部分:

渲染引擎(layout engineer)或(Rendering Engine)和 JS 引擎。

内核负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。

浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。

所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。

JS 引擎则是解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果。

最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于单指渲染引擎。

有一个网页标准计划小组制作了一个 ACID 来测试引擎的兼容性和性能。

内核的种类很多,如加上没什么人使用的非商业的免费内核,可能会有 10 多种,但是常见的浏览器内核可以分这四种:Gecko、Trident、Webkit、Blink。

Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等

Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey

Presto内核:Opera7及以上

Webkit内核:Safari,Chrome

 

需要注意浏览器和浏览器内核是不同的概念,浏览器指的是Chrome、Firefox、Safari、Opera等,

而浏览器内核则是Blink、Webkit、Gecko、Trident等。

浏览器内核只负责渲染,GUI及网络连接等,

跨平台工作则是浏览器实现的。

 

浏览器发展的腥风血雨请看

https://www.jianshu.com/p/db1b230e3415

上一篇:js的null,undefined,NaN进行==运算结果


下一篇:js 模糊搜索