User-Agent的变迁——浏览器大战之前世今生


   一切的开始还得从NCSA Mosaic说起,Mosaic是由国家超级计算机应用中心开发的一款浏览器。称作 “NCSA_Mosaic/2.0(Windows 3.1)”,Mosaic支持在文本中展示图片,因此浏览器变的非常有趣了。

      然而很快就出现了一个全新的浏览器,那就是著名的Mozilla,它被称为“Mosaic杀手”,然而Mosaic显得不高兴了,于是后来Mozilla更名为Netscape, Netscape自称“Mozilla/1.0(Win3.1)”,事情开始变得更加有趣了。Netscape支持框架,框架深受大家喜爱便流行开来,但是Mosaic不支持框架,于是网站管理员探测浏览器的User-Agent,对Mozilla浏览器发送含有框架的页面,对非Mozilla浏览器发送没有框架的页面。

     后来Netscape戏称微软的Windows是“非调试过的硬件驱动程序”,结果微软很生气。于是微软开发了自己的网络浏览器Internet Explorer,微软对Internet Explorer寄予厚望,并希望它可以成为“Netscape杀手”。Internet Explorer也支持框架,但它不像Mozilla可以接收有框架的页面。微软很快失去了耐心,它不能坐以待毙,微软选择将Internet Explorer兼容Mozilla,开始模仿Netscape,称Internet Explorer为“Mozilla/1.22(compatible; MSIE 2.0; Windows 95)”,所以Internet Explorer可以收到含有框架的页面了,所有微软的人都很高兴,但是网站管理员却为此大为苦恼。

     微软将Internet Explorer和Windows捆绑销售,而且把Internet Explorer做得比Netscape更好,第一次浏览器大战一触即发,结果是Netscape惨败,微软更加高兴了。但没想到的是Netscape居然以Mozilla的名义重获新生,并且开发了Gecko,它自称“Mozilla/5.0(Windows; U; Windows NT 5.0; en-US; rv:1.1)Gecko/20020826”。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/20040825Camino/0.8.1”,或“Mozilla/5.0 (Windows; U; Windows NT5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0”,每一个都假装为Mozilla,它们都用Gecko的技术

      Gecko表现优秀,IE则很差劲,于是身份甄别再次发生,输送给Gecko的是设计良好的网页代码,其他浏览器就没有这个待遇了。Linux的跟随者很伤心,因为他们创建了基于KHTML引擎支持的Konqueror,但却不会被输送好代码,虽然他们自己认为KHTML和Gecko一样优秀,于是Konquerer开始伪装自己“像Gecko”那样以得到好的网页,并标称自己为Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, likeGecko),这个世界更让人困惑了.
      

      后来出现了Opera这样的主儿,宣称“允许用户自己决定让浏览器装成谁”,它的菜单中提供了Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera9.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 (WindowsNT 5.1; U; en) 供大家来选择,选谁是谁。
      

      Apple开发了Safari,使用了KHTML,同时也增加了很多新特性,后来干脆一锅煮,另起炉灶叫了WebKit,但是它有希望能够得到那些为KHTML编写的网页,于是Safari标称自己为Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de)AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5,这个世界更混乱了。

      Microsoft越来越担心Firefox的发展,重新启动了Internet Explorer的开发,标称自己为Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ,可以很好的渲染代码,但那要看网站管理员是否指示它这么做。
      

      Google也开发了自己的浏览器Chrome,使用了Webkit,有点像Safari,希望能得到为Safari编写的网页,于是决定装成Safari。这样啊,Chrome使用了WebKit渲染引擎,想装成Safari,而WebKit呢又伪装自己是KHTML,KHTML呢又是伪装成Gecko的,同时所有的浏览器又都宣称自己是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,,UserAgent字符串彻底混乱了,也几乎不再发挥任何作用,每个人都宣称自己是别人,混乱充斥人间啊....

 

你可能感兴趣的:(Python)