详解 User-Agent 浏览器的发展
最早的时候有一个浏览器叫 NCSA Mosaic,把自己标称为 NCSA_Mosaic/2.0 (Windows 3.1),它支持文字显示的同时还支持图片,于是 Web 开始好玩起来。
然后出现了一个新的网页浏览器,Mozilla 其实就是 Mosaic终结者 的意思,这搞的 Mosaic 很不爽,(毕竟 Mosaic 出道早江湖老),新浏览器最后正式公布的名称是 Netscape,它把自己标称为Mozilla/1.0 (Win3.1),更好玩了。
Netscape 支持框架显示,后来框架在大家中间流行起来了,但 Mosaic 不支持框架啊,于是伟大的用户代理人探测技术出现了,如果是 Mozilla,那就发给支持框架的页面,至于其他的浏览器,则发给不含框架的页面。
Netscape 想逗 Microsoft 玩儿,把 Windows 叫做几乎不曾做过调试的设备驱动器,后者很恼火。Microsoft 于是推出了自己的网页浏览器,叫做 Internet Explorer,希望它能成为 Netscape 终结者。Internet Explorer 也支持框架,但它不是 Mozilla,所以没人给它发送带有框架的页面。
Microsoft 慢慢烦躁起来,不再寄希望于网站管理员逐渐认识 IE 并给它发框架,而是宣称自己是 兼容Mozilla 的,开始模仿Netscape,把自己标称为 Mozilla/1.22 (compatible; MSIE 2.0; Windows 95),这样 Internet Explorer 也能收到框架了,整个 Microsoft 狂喜,但网站管理员开始有点被搞糊涂了。
Microsoft 把 IE 和 Windows 一起卖,并且把产品也弄得比 Netscape 更好了,拉开了第一场浏览器之战。结果和大家知道的一样,Netscape 被干掉了,Microsoft 大胜大喜。但是后来 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/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 则很差劲,于是身份甄别再次发生,输送给 Gecko 的是设计良好的网页代码,其他浏览器就没有这个待遇了。Linux 的跟随者很伤心,因此他们创建了基于 KHTML 引擎支持的 Konqueror,但却不会被输送好代码,虽然他们自己认为 KHTML 和 Gecko 一样优秀,于是 Konquerer 开始伪装自己 像Gecko 那样以得到好的网页,并标称自己为 Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko),这个世界更让人困惑了。
后来出现了 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) 供大家来选择,选谁是谁。
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 字符串彻底混乱了,也几乎不再发挥任何作用,每个人都宣称自己是别人,混乱充斥人间。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论