我所知道的有关浏览器的那些事儿
初识
- 从我第一天学习前端,我发现这个技术领域有一个神奇的地方,是因为同一段代码在不同浏览器不同版本上竟然显示的不一样。
- 以前对于浏览器更新版本所带来的提高性能,只是单纯到理解打开页面速度快了,至于到底是什么导致速度快了,也不会深究。
- 当然,我更不会挑剔使用哪款浏览器,界面简洁,我就OK。
- 最初学习前端,是先从代码html、css、js开始,每天的目的就是希望可以快点做出来界面,理论性的东西都没有太研究。这样带来的只能是缺乏优化,效率低下的程序。
- web前端语言与浏览器的进步是你追我赶的,他们互相匹配,相得益彰。彼此谁掉链子都会影响网页的效果。web语言的发展好在最后有统一的标准(期间也有不少纠结的故事,会另写一篇的),但是浏览器随着做生意的人越多,浏览器种类也很多,他们各自发展的速度也不一样,如何使自己代码,在不同的浏览器都表现得还不错,这就需要我们队浏览器有一个深度的了解。
- 这篇先基本说一下浏览器的历史。至于如何用代码来得知当前浏览器版本,也会在我深入学到js的时候,再来发一篇。
NCSA Mosaic
很久很久以前,93年,在我一岁的时候,有一个浏览器名叫NCSA Mosaic,诞生在美国,他是第一个普遍使用和能够显示图片的浏览器(百科上说,他不是第一个能够显示图片的浏览器而是第一个普遍大众接受的浏览器。那第一个呢?魏培源发明的ViolaWWW)。
不过这个浏览器也只是发行了三个版本,直到1997年1月是Mosaic的最会一个版本。
期间,NCSA将Mosaic的商业运营权转售给了Spyglass公司,该公司又向包括微软(当时致力于生产个人电脑)公司在内的多家公司技术授权,允许其在 Mosaic的基础上开发自己的产品。 这一技术授权,也使得微软研发浏览器有了一个好契机。
Mozilla
1994年Mosaic研发的核心成员马克·安德森与几何图形发生器的发明人吉姆·克拉克共同创立了Netscape Communication Corporation即网景公司。对内,网景公司将自己的1.0版本的研发代号乘坐 Mozilla。
Mozilla一词是由“Mosaic Killa”(Mosaic杀手/终结者,Killa是俚语中Killer的拼法)和“Godzilla eat the Mosaic”(Godzilla,即“哥斯拉”,日本遭受核打击和“第五福龙丸”事件后创造的经典虚拟生物)合成而来。 即Mosaic+ Godzilla+Killa=Mozilla!
Netscape
自1.0版本发行以来,NN( Netscape Navigator即网景)迅速占领了市场,并且成功取代Mosaic成为新的Web标准。曾一度达到了超过90%的市场占有率,并且一直保持这个占有率到1996年初(3.0版本)。
还记得那个获得了Mosaic技术授权的微软么,他接下来动作,将掀起了世界上的浏览器大战。
Internet Explorer
1995年,微软在获得Mosaic的技术授权后,开发出了自己的第一代浏览器 Internet Explorer1.0(官方简称IE,也是意外Mozilla的终结者),并于同年8月开始在其新版32位操作系统Windows 95中搭售,这一错略完美的捆绑销售了IE浏览器,可想在当时浏览器的使用可是付费的,对这种捆绑于操作系统的销售,无疑大范围的提升了IE浏览器的使用率。
中间不得不提到微软做过的另一件事。 每个浏览器均需要像web服务器发送标识验证字符串,这样我们在js脚本内通过navigator.userAgent(浏览器对象的用户代理方法)便可以得知用户使用的浏览器。而在当时,每个浏览器所支持的功能不一样,网页编写者为了使自己的网页展示完美的效果,还有一部分偷懒的因素,就只做大家都使用的浏览器能显示的界面,其他浏览器不支持就不支持啦。对于当时占有90%市场的Mozilla,无疑是程序员的选择。IE的小聪明就在此,他将自己发送给web服务器的标识符前面加上Mozilla字样,这样原本只能显示在NN浏览器上的网页,也可以在IE浏览器上显示。
虽然直到1997年NN(4.0版本)的市场占有率还有72%,但是微软通过不断借力(与优秀公司合作),使得NN逐渐挫败。
并购
你以为这样,网景与微软之间的战争就算完了么?
更精彩才刚刚开始。
1998年2月,网景内部成立 Mozilla 组织,独立运作一款应用套装软件(涉及浏览器,网页邮箱客户端,HTML编辑器),并将代码开源,吸引大量开发者来完善软件。
但是挫败的大势无法逆转,1998年11月网景被美国在线(AOL)并购。Mozilla组织在AOL资助下继续进行研发(6.0版本使用正在开发的Gecko排版引擎,放弃使用Mariner的5.0版本),但是此时IE已经占领了96%的市场。
2003年5月,著名的AOL诉微软垄断案达成和解 网友的看法 这位网友的跟踪的事件比较详细,简单理解一下:AOL(美国在线)因为微软采用捆绑销售IE浏览器,违反了反垄断法。而他又采取和解,是因为他深知此时IE已经占领了市场,想要夺回市场已经没有可能,在大的背景下(去参考一下这个网友的说法),已经没有胜诉的希望,不如采用和解,还能赚点,弥补一下当下美国在线对外的赔偿金。作为让步,AOL也同意解散网景及其线下的业务。
还记得当时,网景内部成立Mozilla组织么?
Mozilla获得了AOL的200万美元以及Mitch Kapor,Lotus的创始人30万美元资助后,正式注册成为了非牟利机构。并正式更名为Mozilla基金会,并注册Mozilla为其商标。该组织成立后,把精力投入到其旗下的两个旗舰产品Firefox(现在的火狐浏览器)和Thunderbird(邮件工具)中。
2005年8月3日,Mozilla基金成立了完全所有的应税牟利子公司Mozilla公司。其公司初始运营资金来自Mozilla基金,其成立目的在于推广Firefox和Thunderbird。
11月29日,Mozilla终于发布了后来广受好评的Firefox1.5正式版。
由于安全问题等多方面原因导致IE的市场占有率再次下跌至85%左右,这一时间的回落主要源于Firefox的攻击。
微软与 mozilla 的战争似乎已经结束了,却又只是刚刚开始
Opera
再写一个岁数也比较大一点的浏览器 Opera(欧朋),这个出生在欧洲北部,一个美丽的冰雪王国挪威。了解了微软IE与Mozilla Firefox浏览器之间的战争,再去了解欧朋,仿若静静的美男子。
1994年Opera作为一个研究项目开始于挪威最大的电信公司Telenor; 1995年两个小伙组建了一个公司,并命名为OperaSoftwareASA。 Opera1.0版本发布于1995年4月,之后陆续发布了好多个版本,但是opera浏览器的市场份额一直不高,2011年数据有显示在中国opera浏览器的市场份额仅在3%左右。
这样少的份额,前端程序员都有种要放弃考虑他的念头啦,但是我却有一点钦佩,他可以选择使用开源的webkit浏览器引擎,却这么多年一直坚持使用自己的引擎,并在浏览器历史上拥有了多个首创(标签式,拦截弹出窗口,换肤、语音……),更令我钦佩的是他的这些首创无不是从用户体验角度出发。他也是全球第一款手机端浏览器,他在跨平台方面做得相当出色。
2013年7月,这可能让很多钟爱opera浏览器的人感到伤心,因为opera更换了自己使用了10年(03年启用)的presto引擎,在12.10版本以后改使用Blink(由Google和Opera Software开发的浏览器排版引擎,是webkit中渲染引擎的一个分支。google28版本以后使用)。 欧朋宣称为了更好的追求效果,而不是去维护内核。
这个选择有些人认为欧朋失去了自己的灵魂,有些人认为欧朋也许选择了他最擅长的去做。我本人很喜欢欧朋的设计,不说性能,在体验上我给100分,如果更换内核,可以使欧朋继续设计出用户体验更棒的界面,而不是消失在浏览器市场,我本人还是支持的。
土豪
- Safari浏览器是苹果计算机MAC上的浏览器。
- 1997年_以前_,Mac上预装NN。
- 1997年,微软与苹果达成协议,同意将Internet Explorer for Mac作为Mac的默认浏览器。
- 2003年6月,苹果推出自家开发的浏览器Safari 1.0 85 10.2,同时微软宣布终止开发Internet Explorer for Mac。
- 2005年12月31日,微软终止对Internet Explorer for Mac提供技术支持。
- 2006年1月31日,微软不再提供Internet Explorer for Mac下载,同时IE for Mac在Mac OS的地位被Safari取代。在Mac OS X 10.3版(2002年)仍有保留IE,至10.4版(2005年)苹果仅预装Safari浏览器。
- 2006年6月27日时,Safari 已经发展到2.0时代。
- 2007年6月12日,苹果正式发布了Safari for Windows 3.0的测试版本,支持支持Windows XP与Windows Vista,并在之后的3.0.4 版本解决了之前不支持中文输入的问题。
- 在2008年3月18日推出正式版Safari 3.1,现已支持windows 7。
- 2012年07月25日,OS X 10.8 美洲狮系统的推出,苹果宣布,Safari for Windows已经放弃开发。而此时的Safari for Windows的版本为5.0时代,而最新的Safari版本为6.0。同样:早在2005年7月27日,IE7发布,自IE7以后仅支持Windows。
从苹果对safari的一切决策,也可以看出,苹果逐渐将自己的产品体系化,并且越来越专注。放弃开发Safari for Windows,一方面可能由于苹果的软件本身在微软系统中的水土不服,造成的体验远低于在Mac上,进而造成用户对苹果的不信任感。另一方面,也是对技术资源的解放,可以使得苹果可以制造出更优秀的浏览器体验,以优秀的产品体验,带动其硬件的销量。
Mac操作系统
- 2001年03月24日,OS X 10.0 猎豹
- 2001年09月25日,OS X 10.1 美洲豹
- 2002年08月24日,OS X 10.2 美洲虎
- 2002年10月24日,OS X 10.3 黑豹
- 2005年04月29日,OS X 10.4 虎
- 2008年06月09日,OS X 10.6 雪豹
- 2010年10月20日,OS X 10.7 狮
- 2012年07月25日,OS X 10.8 美洲狮
- 2013年06月10日,OS X 10.9 巨浪
- 2014年06月03日,OS X 10.10 优胜美地
Chrome
- 2008年09月02日,Chrome的beta测试版本发布,只适用于Microsoft WindowsXP SP2以上版本。
- 2008年12月11日,正式发布第一个稳定版本。
- 2009年06月05日,正式发布首个在Mac和Linux操作系统的开发者预览版本
- 2009年12月,正式发布第一个同时支持Windows,Mac OS X和Linux操作系统的测试版。
- 2010年5月25日,发布的5.0版是第一个同时支持该3个操作系统的稳定版本。
- 2012年6月28日,谷歌正式进入移动领域,Chrome For Android 、Chrome For iOS陆续发布。
- 2013年4月份,Google宣布称将为Chrome浏览器开发新的自主浏览器引擎Blink(之前是webkit),在Chrome 28开发版本中,Blink已经正式现身。
Chromium是Google为发展自家的浏览器Chrome而开启的计划,所以Chromium相当于Chrome的工程版或称实验版(尽管Chrome自身也有β版阶段),新功能会率先在Chromium上实现,待验证后才会应用在Chrome上,故Chrome的功能会相对落后但较稳定。