前端工程师打开浏览器一定要了解的知识
浏览器发展史
现在浏览器已经成为网上生活的重要家园和工具。
而从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