浏览器user-agent的变迁

文章是从网上看的,也查阅了wikipedia,原材料英文,此处做一下简单的笔录。

1993年, NCSA公司发布了第一款浏览器,名字叫NCSA Mosaic,自称为CSA_Mosaic/2.0 (Windows 3.1)。如何定义它是第一款浏览器呢,因为它第一个实现了图片和文字的混排浏览。它是在一个大学里被开发出来的。

后来网景(Netscape)公司,招了Mosaic的开发者,开发出了Netscape Navigator,这款浏览器自称为Mozilla/1.0 (Win3.1),而Mozilla是Mosaic Killer的简写,在1997年市场被网景浏览器占领,Mosaic项目就停止了。接着微软花两百万买下了Mosaic的商标,借此开发Internet Explorer。

那个时候frames很流行,网景浏览器支持,Mosaic浏览器不支持,web server就开始根据不同的user agent来返回不同的网页数据。当IE跟网景对抗时,后来者IE支持frames,但是很多站点却没有升级识别IE,IE等不及就将自己伪装成网景浏览器,将user-agent写成:Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)。接着微软将IE和windows系统绑定销售,立马就把红极一时的网景浏览器干掉了。

接着网景那波开发人者没有放弃,成立了Mozilla,开发了火狐浏览器(Firefox),开源了它的渲染引擎Gecko,并将user-agent写成:Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0。那么后来所有使用这套渲染引擎的浏览器都将user-agent写成Mozilla/5.0 打头。当然Gecko比IE要好得多,然后IE一直占有市场绝对地位,到2007年时还一度占到78%的浏览器市场份额,如此大的市场份额,以致微软觉得没有必要再继续投入,解散了IE的研发团队。

同时,在Linux世界里也出现了非常优秀的浏览器,叫Konqueror,是KDE图形套件的重要组成部分,他们自认为其渲染引擎KHTML做得跟Gecko一样出色,但是也由于很多的web server不能识别它而返回合适的页面代码,于是它也伪装自己,将user-agent写成:Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)

后来Opera出来说伪装来伪装去,这样太乱了,用户应该自己决定使用什么user-agent,于是乎在Opera里,用户可以任意选择user-agent,当然默认选项还都是Mozilla打头。

苹果从KHTML上开了一个分支,在此基础上进行升级改造开发自己的渲染引擎,取名叫WebKit,因为苹果系统也是从Linux改造而来,所以浏览器从KHTML改造而来也是理所应当。苹果浏览器取名为safari,user-agent取名为:Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5。

接着Google的chrome又冒出来了,它最开始使用webkit引擎,它希望能做得比safari优秀,这下就有趣了,chrome伪装自己是webkit,webkit伪装自己是KHTML,KHTML伪装自己是Gecko,而Gecko认为自己是正宗的Mozilla,于是结果就是一团乱麻,总之大家都伪装自己是Mozilla,chrome的user-agent就写成了: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份额不断下降,各种问题不断被诟病,后来又重新捡起IE开始研发,但已经跟不上节奏了,如今后起之秀chrome已经35个版本之多,而IE从IE6到IE11,不过几个版本而已。鸡贼的微软考虑到继续升级IE已经改变不了坏名声了,于是有2015年宣布不再支持IE的升级了,转而伴随着windows 10推出一个全新的浏览器叫Microsoft Edge。

今天看到一个有趣的图片来对比当前各浏览器在网民心中的形象:

发表于 2017年02月17日 00:43   评论:0   阅读:2125  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo