用户代理Mess-浏览器战争的滑稽故事

2020-07-10 21:54:43

这只是一个背景,谷歌在某些时候试图使用浏览器UA检测来拒绝他们对新的Microsoft Edge的服务。这是最无用的方式,因为现在的网站使用特征检测而不是用户代理检测。但所有这些都可以追溯到很久以前……。

最开始有NCSA马赛克,马赛克自称是NCSA_Mosaic/2.0(Windows 3.1),马赛克在文字的同时显示图片,喜气洋洋。

你看,然后出现了一种新的网络浏览器,名为“Mozilla”,是“Mosaic Killer”的缩写,但Mosaic并不觉得好笑,所以公开的名字改成了Netscape,Netscape自称是Mozilla/1.0(Win3.1),更多的是欢欣鼓舞。而Netscape支持框架,而框架在人们中变得流行起来,但Mosaic不支持框架,于是出现了“用户代理嗅探”,并向“Mozilla”网站管理员发送了框架,但向其他浏览器发送的不是框架。

网景公司说,让我们取笑微软,把Windows称为“调试不好的设备驱动程序”,微软很生气。因此,微软制造了他们自己的网络浏览器,他们称之为Internet Explorer,希望它能成为“网景杀手”。

Internet Explorer支持框架,但不支持Mozilla,因此没有提供框架。而微软变得不耐烦了,不想等站长知道IE就开始给它发帧,于是IE宣称“兼容Mozilla”,开始冒充Netscape,自称是Mozilla/1.22(兼容;MSIE 2.0;Windows 95),IE收到帧,微软所有人都很高兴,但站长却很困惑。

微软将IE与Windows一起出售,并使其比Netscape更好,第一场浏览器战争在这片土地上肆虐。

看,网景被杀了,微软也欢欣鼓舞。但网景重生为Mozilla,Mozilla构建了Gecko,并自称是Mozilla/5.0(Windows;U;Windows NT5.0;EN-US;RV:1.1)Gecko/20020826,Gecko是渲染引擎,Gecko很好。

而mozilla变成了火狐,并自称为mozilla/5.0Gecko/20041108火狐/1.0(视窗;U;视窗NT5.1;SV-SE;RV:1.7.5),火狐非常好。壁虎开始繁衍生息,其他使用它的代码的浏览器也诞生了,他们称自己为Mozilla/5.0(Macintosh;U;PPC Mac OS X Mach-O;EN-US;RV:1.7.2)Gecko/20040825 Camino/0.8.1)Gecko/5.0(Windows;U;Windows NT5.1;de;RV:1.8.1.8)Gecko/20071008 SeaMonkey/1.0,每个都伪装成Mozilla,以及所有这些浏览器都称为Mozilla/5.0(Windows;U;Windows NT5.1;de;RV:1.8.1.8)Gecko/20071008 SeaMonkey/1.0,每个都伪装成Mozilla

壁虎是好的,IE不是,嗅探重生了,壁虎有了好的网页代码,而其他浏览器就不行了。

Linux的追随者非常悲哀,因为他们构建了Konquery or,它的引擎是KHTML,他们认为KHTML和Gecko一样好,但它不是Gecko,所以没有得到好的页面,所以Konquier开始假装“像Gecko”来获得好的页面,并自称是Mozilla/5.0(Compatible;Konallor/3.2;FreeBSD)(KHTML,像Gecko),有很多混乱。

然后Opera说,“我们当然应该让我们的用户决定我们应该模仿哪种浏览器”,于是Opera创建了一个菜单项,Opera自称是Mozilla/4.0(兼容;MSIE6.0;Windows NT5.1;EN)Opera9.51,或者是Mozilla/5.0(Windows NT6.0;U;EN;RV:1.8.1)Gecko/20061208 Firefox/2.0.0 Opera9.51,或者Opera/9.51(Windows NT5.1;U;EN),这取决于哪一个。

苹果构建了Safari,使用了KHTML,但增加了许多功能,并对项目进行了分支,并将其命名为WebKit,但希望页面是为KHTML编写的,所以Safari自称是Mozilla/5.0(Macintosh;U;PPC Mac OS X;de-de)AppleWebKit/85.7(KHTML,像Gecko)Safari/85.5,情况变得更糟了。

微软非常害怕Firefox,Internet Explorer又回来了,并将自己称为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,Chrome自称是Mozilla/5.0(Windows;U;Windows NT5.1;EN-US)AppleWebKit/525.13(KHTML,像Gecko一样)Chrome/0.2.149.27Safari/525.13,用户代理字符串一团糟,几乎毫无用处,每个人都假装自己在使用WebKit/525.13(KHTML,像Gecko)Chrome/0.2.149.27Safari/525.13,用户代理字符串完全是乱七八糟的,几乎毫无用处,每个人都假装自己是Mozilla/5.0(Windows;U;Windows NT5.1;EN-US)AppleWebKit/525.13