(转载源不详,反正不是我原创)
很久很久以前,有一个浏览器名字叫 NCSA Mosaic。
紧接着,也出现了一个叫 Mozilla 的浏览器 (Mozilla 的意思是 Mosaic 终结者)。
后来,Mozilla 的正式发布版本是 Netscape,它把自己标称为Mozilla/1.0 (Win3.1)。
由于Netscape支持框架显示,后来框架在大家中间流行起来了,但Mosaic不支持框架。
所以网站管理员们则通过 User-Agent 判断,如果是 Netscape 浏览器则进入框架(html
frame)的页面,如果不是 Netscape 浏览器则进入没有框架的页面。
Netscape 没有风光多久,微软也推出了自己的 IE 浏览器
。IE 浏览器也支持框架。但是很遗憾,网站管理员们不认识它呀,因为IE的 User-Agent 没有Mozilla, 所以没有人理它。
后来微软抓狂了,你们不就是只认识 User-Agent 头里有 Mozilla
字符的浏览器么,于是宣称自己是“兼容Mozilla”(compatible)的,开始模仿Netscape,把自己标称为Mozilla/1.22
(compatible; MSIE 2.0; Windows 95)。这样一来, IE 也有了Mozilla (其实是伪装的...)
所以那些框架页面也能看到了。
后来随着微软把浏览器捆绑进自己的操作系统里一起卖,随之爆发了浏览器大战。结果大家都很清楚,Netscape失败了,而微软大胜了。至今微软的IE依然影响着
w3c 影响着所有浏览器。
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 的优秀,网站管理员们会判断浏览器是否是 Gecko
的,如果是则把更先进更漂亮页面显示给这个浏览器,其他浏览器就没有这个待遇了。
(比如现在的HTML5 , 如果我判断是你firefox的新版本则跳转到地址1,如果是ie则去地址2)
看到 Gecko 能浏览这么漂亮的页面, Linux平台的孩子们很桑心,因为他们创建了基于KHTML引擎支持的Konqueror浏览器,它跟 Gecko
一样优秀,但却不带有Gecko而无法被识别。结果Konquerer开始伪装自己“像Gecko”(like Gecko)那样以看到更漂亮的网页,并标称自己为
Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD)(KHTML, like
Gecko)。
然后,这个世界就抽风了....
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。
世界更加混乱了。
Google也开发了自己的浏览器Chrome,使用了Webkit渲染引擎,有点像Safari,它希望能看到为Safari编写的网页,于是决定伪装成Safari。于是,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 。
最后:
IE伪装成 Mozilla
webKit 伪装成 KHTML
KHTML 伪装成 Gecko
最后 opera 伪装成上面任何浏览器
同时所有的浏览器又都宣称自己是 Mozilla
就是这样,把自己伪装得自己妈都不认识了,谁都不是谁的谁,谁也都是谁的谁。
总之浏览器世界一塌糊涂.........
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) 供大家来选择,选谁是谁