`
wangcheng
  • 浏览: 1464873 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

浏览器UserAgent的历史变迁(转)

阅读更多

原贴 http://www.yeeyan.com/articles/view/heart5/19211

 

Google推出的Chrome让大家热议纷纷,只有专业用户才会注意到用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字符串,貌似天书,它到底是怎么回事儿代表什么呢?我们来看看吧

 

最早的时候有一个浏览器叫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字符串彻底混乱了,也几乎不再发挥任何作用,每个人都宣称自己是别人,混乱充斥人间啊。
 

 

 

分享到:
评论

相关推荐

    2024年6月最新UserAgent,含各种手机浏览器UserAgent

    2024年6月最新UserAgent,含各种手机浏览器UserAgent,已去重复

    各种浏览器的userAgent

    浏览器userAgent解析 浏览器的userAgent是指浏览器在访问服务器时发送的一串字符串,它包含了浏览器的信息,如浏览器名称、版本号、操作系统等信息。不同的浏览器有不同的userAgent,下面我们将对IE、Firefox、...

    2021年9月最新浏览器useragent

    2021年9月的最新浏览器UserAgent更新反映了当前浏览器技术的发展趋势,包括对新标准的支持、性能优化以及隐私保护的增强。 一、UserAgent的构成与作用 UserAgent通常包含以下几个部分: 1. 浏览器名称:如"Mozilla...

    最新浏览器useragent

    浏览器UserAgent字符串是每个网页请求时,客户端(通常是浏览器)发送到服务器的一段信息,用于标识客户端的类型、版本、操作系统、设备等详细信息。在分析用户行为、优化网站兼容性或者开发网络爬虫时,了解和理解...

    UserAgent Analysis Tool.现代浏览器UserAgent分析判断工具 - 用户代理、操作系统、分辨率等信息

    UserAgent Analysis Tool.现代浏览器UserAgent分析判断工具 - 用户代理、操作系统、分辨率等信息

    最新PC端UserAgent 1w+

    某网站pc端浏览最新useragent#动态分,如果感觉下载分数太高了可以私信我

    前端开源库-metal-useragent

    3. **`family()` 和 `version()` 方法**:获取浏览器家族和版本信息,如 `UserAgent.family()` 返回浏览器类型(如 "Chrome"),`UserAgent.version()` 返回浏览器版本号。 4. **`os()` 方法**:获取用户所用操作...

    C#获取WebBrowser中的cookie和userAgent

    UserAgent是浏览器发送到服务器的一个字符串,包含了浏览器类型、版本、操作系统等信息。在C#的WebBrowser控件中,可以通过`WebBrowser.ObjectForScripting`属性设置一个对象,然后在JavaScript中读取navigator....

    精易会员专用浏览器 [带抓包]

    【精易会员专用浏览器 [带抓包]】是一款专为精易会员设计的特色浏览器,其核心特性在于内置了网络数据抓包功能。这使得用户能够监控和分析网络请求,对于开发者、网络安全专家以及需要对网页数据进行深度研究的用户...

    如何判断微信内置浏览器(通过User Agent实现)

    在进行微信公众账号开发的时候,需要知道当前的浏览器是微信内置的浏览器,那么如何判断呢?这是就只有通过浏览器的User Agent来进行判断了

    手机最新UserAgent,2万+

    手机最新UserAgent,2万+#动态分,如果感觉下载分数太高了可以私信我

    jquery插件推荐浏览器嗅探userAgent

    本次推荐的插件名为userAgent,它能够兼容包括IE6+、Chrome、Firefox、Safari、Opera在内的各大主流浏览器。插件支持模块化开发环境如AMD和Node.js,以及浏览器端使用。 使用userAgent插件,开发者可以方便地进行...

    各型号手机userAgent

    各种useragent,也是分析ua收集来的 涵盖各种手机机型的ua了,差不多1w多个

    UserAgent返回浏览器版本和操作系统版本工具类

    标题中的"UserAgent返回浏览器版本和操作系统版本工具类"是指一个Java类库,它可以帮助我们解析HTTP请求头中的`User-Agent`字段,从中提取出浏览器和操作系统的信息。`User-Agent`是一个包含用户浏览器类型、版本、...

    兼容主流浏览器的js旋转代码

    这个"兼容主流浏览器的js旋转代码"旨在提供一个解决方案,确保在各种浏览器环境下都能正常工作。让我们深入探讨一下如何使用JavaScript来实现这样的功能,以及兼容性问题的解决策略。 首先,我们需要了解CSS3的`...

    手机最新UserAgent

    UserAgent,全称为User Agent String,是Web浏览器发送到服务器的一个字符串,用于标识访问者的信息,包括浏览器类型、版本、操作系统、设备类型等。在移动设备尤其是智能手机中,UserAgent对于开发者来说非常重要,...

    Python-pythonuseragents浏览器的useragent解析器用于判断来源是电脑手机平板

    此外,`UserAgent`对象还提供了其他有用的信息,如`browser`(浏览器)、`os`(操作系统)、`device`(设备型号)等。 Python-user-agents库不仅限于基本的设备类型判断,它还可以识别具体的浏览器型号和操作系统...

    js识别不同浏览器基于userAgent做判断

    检测浏览器,注意浏览器判断顺序,主要是基于userAgent做判断。 //检测浏览器 var client = function(){ var engine = { ie:0, gecko:0, webkit:0, khtml:0, opera:0, ver:null }; var browser = { //浏览器 ie: 0,...

    JS通过分析userAgent属性来判断浏览器的类型及版本

    在JavaScript中,主要通过两种方式来识别浏览器类型及其版本:一是检查浏览器特有的属性,二是分析`navigator.userAgent`字符串。本篇文章将重点介绍通过`userAgent`属性来判断浏览器的方法。 `navigator.userAgent...

Global site tag (gtag.js) - Google Analytics