浏览器的相关知识

2018-10-13 23:21:43 / 打印

浏览器在我们使用电脑的过程中扮演着重要的角色,是浏览网页必不可少的工具。而从1991年,Web之父Tim Berners Lee亲手设计第一个HTML浏览器开始,到现在HTML5大行其道,浏览器的功能以及性能大幅提升,甚至于诞生了以浏览器为核心的操作系统。

从这篇文章开始,我会用几篇文章给大家介绍一下浏览器的相关知识,分享一些让浏览器使用更舒服的技巧与方法。

今天我先给大家介绍一下几种主流的浏览器内核以及浏览器的发展历史。

内核是浏览器最核心的部分,「Rendering Engine」,中文翻译通常为「渲染引擎」,它负责取得网页的内容、整理信息以及安排计算网页的显示方式,然后会输出至显示器或打印机。

内核的种类有很多种,目前常见的浏览器内核有以下几种:

需要注意浏览器和浏览器内核是不同的概念,浏览器指的是Chrome、Firefox、Safari、Opera等,而浏览器内核则是Blink、Webkit、Gecko、Trident等。浏览器内核只负责渲染,GUI及网络连接等跨平台工作则是浏览器实现的。

翻开浏览器的发展史,我们很鲜明地发觉一个规律:江山代有才人出,各领风骚仅几年。后来者居上,似乎是浏览器市场的宿命。

1994年,网景通信公司(Netscape Communications Corporation)推出了代号为“网景导航者”的网景浏览器1.0,至此Netscape诞生了。随后网景通信公司开发出了Gecko内核,并于2000年实装在Netscape6及以后的版本当中,现在则由Mozilla基金会维护,同时也运用到了Firefox(火狐浏览器)中。由于Gecko本身是一个开源项目,全世界的程序员都可以贡献自己的代码,增加功能,优化性能,所以这款产品很快在市场上站稳脚跟。

要说印象最深刻的浏览器,莫过于Internet Explorer。飞速发展的网景浏览器给Netscape带来的自信,让这家公司尝试做操作系统,这让当时在这个领域领先的微软感觉到了威胁,微软收购了一家浏览器公司并基于其产品研发出了Trident内核,开发出了Internet Explorer,同时把IE浏览器捆绑在自家的操作系统中。尽管网景浏览器好用,但是需要花钱购买网景浏览器才能使用,既然操作系统中自带了浏览器,大家也就纷纷使用了起来,所以IE也就立马占领了市场。

Trident内核在这个过程中也算是起到了重要作用,IE浏览器也从IE4到最后的IE11一直采用Trident内核,所以Trident内核也普遍称为IE内核。

国内很多的双核浏览器的其中一核便是Trident,美其名曰 「兼容模式」。

Window10 发布后,微软将其内置浏览器命名为Edge,Edge最显著的特点就是新内核EdgeHTML。

1998年,Netscape与微软的竞争失败后,为了挽回市场,Netscape开放网景通信家4.0的源代码,同时成立了非正式组织Mozilla「谋智」,自此Mozilla浏览器开始登上舞台。2003年7月15日,美国在线解散了网景公司。而Mozilla基金会亦在当天成立,继续推动着Gecko的发展。直到今天,Gecko仍继续由Mozilla的员工和义工所维护和发展。Mozilla Firefox也是基于Gecko内核,但此Gecko已非彼Gecko。

网景在「浏览器大战」中,与微软竞相推出新功能,过度偏向增加功能,忽略了网络标准和软件稳定性,导致它越来越臃肿,受人诟病。垄断地位的IE使得Trident内核长期一家独大,微软很长时间都并没有更新Trident内核,导致Trident内核与很多当时的标准脱节,使得一些微软内部的开发人员不满,再加上一些致力于开源的开发者和一些学者们公开自己认为 IE 浏览器不安全的观点,很多用户转向了其他浏览器。那些不满的部分开发人员与当时已经停止更新了的 Netscape 的一些员工一起创办了Mozilla。以当时的 Mosaic 内核为基础重新编写内核,于是开发出了 Gecko。Opera 也是这个时候兴起的。

同时Gecko将自己的代码开源,彻底解决了速度与安全等问题。短短几年,Firefox已经能与IE分庭抗礼。Gecko内核主要还是Firefox使用,有时候也把它称为Firefox内核。

最新Firefox已经换上了Quantum内核,Quantum基于Gecko打造,可以深度利用现代的多核心处理器技术。换言之,多核芯片将能够高效地并行运作,显示芯片也可极大地加速某些操作。

靠着操作系统捆绑的IE占据了很大部分市场,Firefox、Opera尽管很好用,它们的市场份额依旧无法上升。IE自从登上了第一的位置之后,也不思进取,自己搞了一套web标准,不太支持很多web技术的新特性。虽然垄断了市场,不安全、崩溃、速度慢等等问题也一直让用户难以忍受。正当人们认为Gecko将与Trident上演「双寡头」的时候,苹果Safari这个时候来了。

当时Gecko再次犯了当年的错误——贪大求全,将邮件组、新闻组、聊天等流行应用都打包进了Firefox,导致内存占用问题,同时Firefox对JavaScript的支持并不好,反应迟钝饱受诟病。Trident几乎没怎么更新过,很多兼容问题导致开发者也是头大。再加上开放性问题,致使IE在安全性、速度等诸多问题上被群起而攻。

勤劳的又追求极致的苹果推出的基于WebKit内核的Safari浏览器则引导了浏览器的本质回归潮流。Safari在2003年 1月7日首度发行测试版,并成为Mac OS X v10.3与之后版本的默认浏览器。当年苹果在比较了Gecko和KHTML后,选择了后者来做引擎开发,是因为相比Gecko,KHTML拥有清晰的源码结构和极快的渲染速度,也实现了JavaScript脚本的快速解释器调用。

苹果推出WebKit内核后,受到了谷歌的关注,2008 年谷歌公司发布Chrome浏览器,采用的Chromium内核便 fork了WebKit。界面简洁、加载快速、数据安全等这些特点让Chrome越来越受喜欢,甚至好过于苹果了。加之很多web开发者对其的追捧,最终使其市场份额逐步攀升,成为了后起之秀。

Chromium虽然是开源引擎webkit的一个分支,却把WebKit的代码梳理得可读性提高很多,所以以前可能需要一天进行编译的代码,现在只要两个小时就能搞定。谷歌公司后来还研发了自己的Javascript引擎,极大地提高了 Javascript的运算速度。

Chromium问世后,带动了国产浏览器行业的发展。一些基于Chromium的单核,双核浏览器如雨后春笋般拔地而起,例如:搜狗、360、QQ浏览器等等,无一不是套着不同的外壳用着相同的内核。然而2013年4月3日,谷歌在Chromium Blog上发表博客,称将与苹果的开源浏览器核心 Webkit 分道扬镳,在Chromium项目中研发Blink内核,内置于Chrome浏览器之中。

WebKit 用的好好的,为何要投入到一个新的内核中去呢?

Blink其实是WebKit的分支,如同WebKit是KHTML的分支一样。Google的Chromium项目此前一直使用WebKit作为渲染引擎,但出于某种原因,并没有将其多进程架构移植入WebKit。后来,由于苹果推出的WebKit2与Chromium的沙箱设计存在冲突,所以Chromium一直停留在WebKit,并使用移植的方式来实现和主线WebKit2 的对接。这增加了Chromium的复杂性,且在一定程度上影响了Chromium的架构移植工作。基于以上原因,Google决定从WebKit 衍生出自己的Blink引擎,将在WebKit代码的基础上研发更加快速和简约的渲染引擎,并逐步脱离WebKit的影响,创造一个完全独立的 Blink 引擎。

Blink引擎问世后,国产各种Chrome系的浏览器也纷纷投入Blink的怀抱,可以在浏览器地址栏输入 chrome://version进行查看。

在Chrome发展壮大过程中,微软才意识到Chrome开始对它逐步侵蚀自己的市场有了危机感,才开始频繁更新IE,2011年IE9发布,2012年IE10发布,2013年IE11发布,最后IE的代码实在适应不了新要求的web技术,就重新开发了一个名为Edge的浏览器用来取代IE,但还是挡不住Chrome成为市场份额第一的命运。

对浏览器的需求不外乎三个方面:兼容、安全、速度。而追究每一次浏览器的更替,总会发现,它们在这三方面总有致命缺陷。如此情况下,一种新的呼声正在崛起——多核。尤其是在中国市场,由于Firefox等浏览器在中国的市场份额极少,中文网页多是IE标准,用户暂时无法抛弃Trident内核,但他们又需要速度更快、更稳定的浏览体验。采用多核之后,这种矛盾迎刃而解。

为什么国内主流浏览器双核是标配?

双核功能的出现与我国互联网环境有着极大的关系,因为有些像网银和公司校园这类网站用Chrome浏览器打不开或会出问题,但却可以用IE浏览器打开。但是对于常见的网站用 IE 浏览器搞不好就会卡死。对于这类问题,我们称之为「网站存在兼容性问题」。

在没有出现双核浏览器之前,用户的使用习惯是大多情况要使用一个基于WebKit内核的浏览器Chrome、Safari、Firefox或Opera ,然后在碰到兼容性问题时再切换至兼顾兼容性的Trident内核IE浏览器上。很显然,这个“缝”给用户使用带来一定的不便。更有甚者,很多用户从技术层面并不知道Chrome其实比IE做得更好,没有机会享受更好的上网体验。而在那个移动互联网还没有大行其道的年代,大家普遍的观点是浏览器是互联网的重要入口,是推广自家产品的最佳工具,是巨大的流量入口,而用户的这种痛点正是商机,这种背景造就了国内大量双核浏览器的出现,国产双核浏览器在2011年快速崛起,证明了浏览器在兼容性以及速度性能上的诉求,是用户所需要也是用户看重的。到现在双核已经成为了国内浏览器的标配。

综上,双核功能的定位实际上就是主打WebKit核的快速并以Trident核出色兼容性做为补充,让多核共存共融,真正发挥1+1>2效果的效果。UC浏览器的双核指的也正是这两个核,且两个核的定位也是这样的。但从长远来看,双核浏览器可能是一条死路,随着web标准的推广,ie内核也会越来越靠近标准,很多网站也将不支持旧版本的IE浏览器,等过几年,内核之间已经不存在兼容问题,双核浏览器就没有卖点了。

参考资料:

全面了解浏览器(内核)发展史

浏览器历史-维基百科

浏览器大全

浏览器内核-维基百科

Gecko-百度百科

Netscape-百度百科