血战的浏览器历史

广泛认为,91年正式发布的WorldWideWeb是全球最先的一款浏览器,后来更名为Nexus,特色是能够兼容Unix和Microsoft DOS的,可是还不支持图片的显示,虽然功能有限,但在当时却很是流行。windows

93年,美国伊利诺州的NCSA组织发明了一款能够显示图片的浏览器,但是恰恰就命名为马赛克(Mosaic),这不当紧,让“网络管理员”抓狂了,怎么分辨你的浏览器是否能显示图片呢,因此 UserAgent就诞生了,Mosaic将本身标志为NCSA_Mosaic/2.0(windows 3.1),这也是咱们使用浏览器发送请求的时候请求头有一个字段为UserAgent的最开始缘由浏览器

94年,Mosaic开发的中心人物 马克·安德森等成立了“MOSAIC Communication Corp”, 可是因为NCSA拥有Mosaic的商标权,使得开发团队不得不完全从新撰写浏览器代码,试图打破Mosaic的的垄断,开发了一款浏览器 Mozilla ,Mozilla 啥意思呢 Mozilla = Mosaic Godzilla Killa ,Godzilla,哥斯拉庞然怪兽,Killa是俚语中Killer的拼发,大概的意思就是马赛克终结者。可是Mosaic很是不高兴,该浏览器最大的特色是以共享软件的方式贩卖,同时又支持框架(frame),而Mosaic不支持框架,因此网景当时的市场占有率约有90%,可谓是一个浏览器界发展史上的重要里程碑。为了不和NCSA的商标拥有问题,将公式更名为网景通信公司(Netscape Communications Corporation),同年,浏览器软件也更名为 Netscape Navigator,也就是咱们所知道的大名鼎鼎的网景浏览器。有趣的是,它大名虽然叫网景,可是偷偷的把UserAgent 设置成 Mozilla/1.0,因而网站管理员探测UserAgent对于Mozilla浏览器发送含有框架的页面网络

接下来,网景浏览器继续迅速发展,伴随着Java等技术标准的提出,一种基于Internet而首次和微软的操做系统无关的新的软件体系造成,以网景为首的一批互联网技术公司的崛起,迅速构成了一股隐隐的能够与微软平起平坐的新力量。让微软感到惧怕的是:若是网景在浏览器市场上取得垄断性优点,它就彻底有可能和实力推出一套新的操做系统以替代微软的Windows。因此比尔盖茨和网景谈判,但愿能创建合做关系,这但是微软仅有的一次“屈膝”。但是已经取得战略先机的网景岂会买帐,谈判破裂。框架

这下完全惹怒了微软,95年,被逼急了的微软在短短的一年时间,投入20亿美圆,经过购买(包括Mosaic的受权)、兼并和开发等多种手段,迅速地推出了一个浏览器产品IE2.0。为了完全摧毁网景,微软决定,将这一产品实行免费开放。不要白不要的IE一会儿就把浏览器市场的游戏规则给冲乱了。在此以前,网景浏览器的收费标准为45美圆,而IE的功能与之相近却分文不收,无疑让包括网景在内的全部公司和消费者都目瞪口呆。这还不够,半年后,微软又使出另外一个杀手锏,宣布Windows95与IE捆绑销售,这一招让网景完全绝望了,眼看着微软利用操做系统的垄断(当时windows操做系统拥有的90%以上的份额)去创造另外一个新的垄断,浏览器的市场迅速被微软抢占,有趣的是IE浏览器也支持框架,可是要等到全部网站管理员都了解到了IE,才给IE也发送含有框架的页面,显然IE一刻也不想等了,它宣布本身是兼容Mozilla的,还将本身的UserAgent改为了 Mozilla/1.22(compatible; MSIE 2.0; Windows 95),因此IE浏览器就也能收到含有框架的页面了ide

98年,网景在与IE浏览器竞争失利之后,为了挽回市场,宣布旗下全部软件之后都是免费,并开放了网景通讯家(Netscape Communicator)4.0的源代码,成立了非正式组织Mozilla。性能

微软已经占据了操做系统的垄断市场了,眼看浏览器的市场也将被垄断。为了让这不成为事实,98年11月美国在线AOL 耗资42亿美圆收购了网景,避免了这一切的发生。为了防止浏览器再度被垄断,美国在线在后面几年相继发布了 Netscape 5 6 等几个版本。但是这对微软来讲彻底都不是事,彻底动摇不了IE的地位。因而美国在线和微软由于浏览器垄断这事情一直没能达成协议,打官司。网站

最后微软因滥用垄断能力而败讼后,美国在线向微软提出索偿诉讼。在2003年5月,微软和美国在线达成和解协议,愿意支付网景7.5亿美圆,并赞成向美国在线提供7年无限制的使用和散布Internet Explorer的权利。这被认为是“网景退出的信号”。spa

03年七月,美国在线解散网景公司,网景的标志也从办公大楼中去除,而且将Netscape的源码送给开源社区,而且成立了Mozilla基金会,而这个基金会就是如今Firefox浏览器的管理与推动组织操作系统

浏览器中的Mozilla

由于微软将IE和Windows捆绑销售,而且把IE作得比Netscape更好,因而第一次浏览器血腥大战爆发了,结果是Netscape以失败退出历史舞台,微软更加嗨皮。但没想到Netscape竟然以Mozilla的名义重生了,而且开发了Gecko,此次它自称为“Mozilla/5.0(Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826”。.net

Gecko是一款渲染引擎而且很出色。Mozilla后来变成了Firefox,并自称“Mozilla/5.0 (Windows; U;Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 
Firefox/1.0”。Firefox性能很出色,Gecko也开始攻城略地,其余新的浏览器使用了它的代码,而且将它们本身称为“Mozilla/5.0 
(Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 
Camino/0.8.1”,以及“Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 
SeaMonkey/1.0”,每个都将本身装做Mozilla,而它们全都使用Gecko。

Gecko很出色,而IE彻底跟不上它,所以useragent探测规则变了,使用Gecko的浏览器被发送了更好的代码,而其余浏览器则没有这种待遇。Linux的追随者对此很难过,由于他们编写Konqueror,它的引擎是KHTML,他们认为KHTML和Gecko同样出色,但却由于不是Gecko而得不到好的页面,因而Konqueror为获得更好的页面开始将本身假装成“like Gecko”,并自称为“Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)”。自此user agent变得更加混乱。

这时更有Opera跳出来讲“毫无疑问,咱们应该让用户来决定他们想让咱们假装成哪一个浏览器。”因而Opera干脆建立了菜单项让用户自主选择让Opera浏览器变成“Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51”,或者“Mozilla/5.0(Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51”, 或者“Opera/9.51 (Windows NT 5.1; U; en)”。

后来苹果开发了Safari浏览器,并使用KHTML做为渲染引擎,但苹果加入了许多新的特性,因而苹果从KHTML另辟分支称之为WebKit,但它又不想抛弃那些为KHTML编写的页面,因而Safari自称为“Mozilla/5.0(Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5”,这进一步加重了user agent的混乱局面。

由于微软十分忌惮Firefox,因而IE重装上阵,此次它自称为“Mozilla/4.0 (compatible; MSIE 8.0;Windows NT 6.0) ”,而且渲染效果一样出色,可是须要网站管理员的指令它这么作才行。

再后来,谷歌开发了Chrome浏览器,Chrome使用Webkit做为渲染引擎,和Safari以前同样,它想要那些为Safari编写的页面,因而它假装成了Safari。因而Chrome使用WebKit,并将本身假装成Safari,WebKit假装成KHTML,KHTML假装成Gecko,最后全部的浏览器都假装成了Mozilla,这就是为何全部的浏览器User-Agent里都有Mozilla。Chrome自称为“Mozilla/5.0(Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13”。

由于以上这段历史,如今的User-Agent字符串变得一团糟,几乎根本没法彰显它最初的意义。追根溯源,微软能够说是这一切的始做俑者,但后来每个人都在试图假扮别人,最终把User-Agent搞得混乱不堪。 
一句话结论:由于网站开发者可能会由于你是某浏览器(这里是 
Mozilla),因此输出一些特殊功能的程序代码(这里指好的特殊功能),因此当其它浏览器也支持这种好功能时,就试图去模仿 Mozilla 
浏览器让网站输出跟 Mozilla 同样的内容,而不是输出被阉割功能的程序代码。你们都为了让网站输出最好的内容,都试图伪装本身是 Mozilla 一个已经不存在的浏览器……

附各大浏览器诞生年表: 
- 1993年1月23日:Mosaic 
- 1994年12月:Netscape 
- 1994年:Opera 
- 1995年8月16日:Internet Explorer 
- 1996年10月14日:Kongqueror 
- 2003年1月7日:Safari 
- 2008年9月2日:Chrome

参考 :http://blog.csdn.net/puppylpg/article/details/47319401

 

转自:https://blog.csdn.net/qzcsu/article/details/73650767