众所周知,自打Windows自带Edge浏览器之后,使用体验感人肺腑,甚至在微软Azure发布会的时候工程师被迫当中安装Chrome。
去年年末的时候,一则关于浏览器的消息更是真让人哭笑不得:微软表示,新的Edge浏览器将从Edge HTML内核迁移为Chromium和Blink内核,同时还会登陆到Windows7、8和MacOS平台。
从2018年9月的市场份额来看,Chrome也是稳坐老大宝座,不得不说,Google牛逼。那么围绕着“浏览器”又有哪些曲折的故事呢?今天就一起来看看吧。
追根溯源
正如以前所说,1991年8月,Berners·Lee发明了WorldWideWeb万维网,同时也带来了世上***款浏览器。但是这名字这么长,老Lee索性把它改名为“Nexus”(连接)了。
得益于兼容Unix和Microsoft DOS,当年它可是***的浏览器(毕竟是爷爷级别的)。但是它有个致命的缺点——只能显示文字,不支持图片显示。
画家CharisTsevis作品
正所谓“有图有真相”,图片都不支持的显示器注定要被代替,就在1993年,伊利诺大学的NCSA组织发明了***款能显示图片的浏览器——“Mosaic”(马赛克)。
那么问题来了,有的人用Nexus、有的人用Mosaic,那么html的提供者怎么写代码呢?UserAgent(用户代理)就由此诞生了,它可以标注上网请求者是什么浏览器、系统,让服务器知道该发送什么样的信息,带不带图片。比如Mosaic就把自己标注为了“NCSA_Mosaic/2.0(Windows 3.1)”。
很快又走出来一个搅局者,叫Mozilla。这名字倒是一语双关了,有着Godzilla(哥斯拉)的征服欲,又有着Mosaic Milla(马赛克终结者)的挑战宣言。但是这个名字戾气太重了,因市场取向问题,他们选择改名:
Mozilla项目组推出了一款革命性的浏览器,一举成为新霸主,它就是1994年的Netscape Navigator(网景航海家)。虽然名字改了,但是开发代码和UserAgent依然是Mozilla,真不愧是“写作Netscape,读作Mozilla”。
网景***支持html框架显示,让网页开始有简单的table布局,支持内外边距设置,给了上网者更好的视觉体验。但是这个宝座就和烫手的山芋一样,一直坐不久,对啥事都不会坐视不理的微软,这次也要动手了。
1995年微软发布了一款和系统捆绑的浏览器——Internet Explorer(互联网探险家),简称IE。问题是,当时的服务器只会给UserAgent包含“Mozilla”的浏览器发送含框架的页面,微软作为全新的浏览器,不支持岂不是落后了?
于是IE直接就把自己的UserAgent改成了“Mozilla/1,22(compatible;MSIE 2.0; Windows 95)”,想兼容多简单啊。系统本身都自带(捆绑)浏览器了,第三方能用的功能我也都有,微软先天优势,用户们可不想再花钱买网景浏览器来装,所以网景轻而易举被击败了。
1995年同期,一家挪威的公司也推出了一款浏览器,为以后标签式浏览器奠定了基础,它就是Opera(歌剧)。它支持单窗口多文档阅读,用户不必再一下子点开一堆窗口,清爽多了。
1998年1月,逐渐低落的网景为了挽回一切,他们表示旗下所有软件以后全都免费了,还开放了网景浏览器的源代码,围绕着浏览器排版引擎Gecko(壁虎),他们成立了非正式组织Mozilla,从此成为了更高次元的存在。
他们打算卷土重来,开发更先进的浏览器,能够支持插件拓展、开发调试。那么新的浏览器叫啥好呢?既然是复活而来、浴火重生的,不如叫Phoenix(凤凰)吧?
结果刚推出就被人告了,因为一家公司叫“凤凰科技”,重名了我淦!那干脆叫FireBird(火鸟)?不行、也有公司注册了。***他们退而求其次,选择了FireFox(火狐)这个名字。
Windows这边打的飞起,也别忽略了旁边的Linux,它也需要一个浏览器呀。隔壁有了Navigator航海家、Explorer探险家,自己至少气势上不能输,干脆就叫Konqueror(征服者)吧。
它于1996年发布,使用的是KHTML排版引擎,但是服务商都对用了Gecko的Firefox做了排版优化,而我没有怎么办?老样子,往UserAgent里加呀!
于是Konqueror的UserAgent就成了“Mozilla/5.0(compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)”,像Gecko可还行,从此“Like Gecko”也变成了一个行内皆知的萌词。
虽然这是个好办法,但是谁都给自己的UserAgent加戏,注定越来越混乱。后来Opera甚至直接在菜单里加了三种UserAgent,一种是IE的、一种是火狐的、一种自己的,用户可以自行选择,如此一来反倒更方便了。
最喜欢的LOGO,太美了
几年间IE虽然独霸、但不思进取,自己搞一套web标准,还不能***支持html、javascript、css等新特性,一直维持着速度慢、体验差、不稳定的特点,让人不得不想要找个更好的替代品。
2008年Google旗下的浏览器Chrome闪亮登场,格局改变了。它界面简洁、UI明了、速度奇快、安全稳定,逼得IE节节败退、开始不断更新。
但是IE已经太老了,无法适应越来越高的Web技术,于是2015年,Edge浏览器怀着救国之心诞生了,但是它究竟有没有实现微软的理想呢?相信大家早就有了答案。
内核所在
了解完浏览器的历史,那什么是浏览器的内核呢?所谓内核其实指的是Rendering Engine(渲染引擎)。它决定了浏览器如何显示网页内容没不同的内核显示的内容、排版、特效支持等也都不尽相同。
从历史上了来看,最早是97年在IE4中的Trident内核,是微软在Mosaic代码的基础上修改而来,血脉一直延续到了IE11。KHTML用于Konqueror,Gecko用于FireFox,Mozilla后来又和三星一起搞出来个Servo内核。Presto用于早期的Opera(现改为谷歌Blink),Chromium用于谷歌Chrome,不过如今的Chrome浏览器已经使用了和Opera一起开发的的Blink引擎。
其中Webkit是苹果公司研发的浏览器内核,被用于知名的Safari浏览器,其UserAgent为“Mozilla/5.0(Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko)Safari/85.5”。
等等,怎么里面还有“KHTML和likeGecko”?因为Webkit内核包含的WebCore排版引擎是由KHTML衍生而来,所以这是一种无法舍弃的血统,自然也就留在了其中。
比较意外的是,作为7年后登场的Chrome浏览器UserAgent中居然有“Safari”字样出现,要知道Chromium内核是基于WebKit的,所以说你懂的,看来苹果对“高速上网”贡献很大。
国产论剑
众所周知,从Chrome浏览器火了之后,国内也涌现了一大票的国产浏览器,这里不得不提谷歌一直坚持的开放开源了。
Chromium内核安全、稳定、高速,如果和谷歌自家浏览器捆绑也无可厚非,大不了收费卖给别家授权使用也有盈利,但是谷歌并没有这么做,而是支持大家都免费来用我家的浏览器,大家一起收集用户遇到的问题,不断改进浏览器,一起开拓未来。
目前国内的360极速浏览器、QQ浏览器、搜狗高速浏览器、世界之窗极速版、枫树浏览器、太阳花浏览器等等,包括后来的红芯浏览器官方也承认自己的Redcore内核是基于Chromium/Bnk的。
这里也要提到刚刚未提的2010年诞生的双核浏览器了。由于国内网络环境特殊,网银、验证什么的各种东西都对IE比较友好,但又想要WebKit的上网速度怎么办呢?于是乎,国内浏览器干脆自带多种引擎,把微软那套挪过来叫“兼容模式”,然后其他类似Chromium的引擎称作“高速模式”,用户可以随时切换。