`
xhanxhanxhan
  • 浏览: 207584 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[转的!]UserAgent的历史变迁

阅读更多

来源 http://article.yeeyan.org/view/heart5/19211

 

没见过能把文章写这么有趣的.

 

最早的时候有一个浏览器叫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.51Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51Opera/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,已去重复

    json fake_useragent fake_useragent

    fake_useragent json缓存 爬虫 fake 消息头

    手机最新UserAgent

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

    各型号手机userAgent

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

    C#获取WebBrowser中的cookie和userAgent

    本篇文章将详细探讨如何利用C#获取WebBrowser控件中的cookie和userAgent信息。 一、WebBrowser控件简介 WebBrowser控件是.NET Framework提供的一个组件,它基于Internet Explorer引擎,可以在桌面应用中模拟浏览器...

    最新PC端UserAgent 1w+

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

    各种浏览器的userAgent

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

    userAgent解析lib包和实例

    在IT行业中,UserAgent是一个非常重要的概念,尤其是在网络开发和数据分析领域。UserAgent字符串是浏览器或其他HTTP客户端向服务器发送请求时附带的信息,用于表明访问者的操作系统、浏览器类型、版本等详细信息。这...

    fake_useragent_0.1.11.json

    解决UserAgent库最大请求次数

    手机useragent.pdf 数据库资源

    ### 手机UserAgent数据库资源解析与应用 在IT领域,特别是移动互联网技术中,UserAgent(用户代理)是一个至关重要的概念。它是指由客户端发送到服务器的HTTP请求头中的一个字段,用来标识请求的软件身份,包括...

    最新浏览器useragent

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

    useragent解析逻辑&手机品牌匹配.txt

    在对浏览界面进行解析获取用户信息的过程中,想要精准识别用户,对useragent解析&手机品牌匹配是必不可少的环节,本文档提供了解析逻辑,以及提供了最新的手机品牌和useragent对应的文件,帮你丰富用户画像,以及...

    修改 IE-UserAgent VS2010 VC++

    在IT领域,UserAgent是一个非常重要的概念,它是由Web浏览器发送到服务器的一个字符串,用于标识浏览器的类型、版本、操作系统及平台等信息。这个信息对于服务端来说是至关重要的,因为它可以帮助服务器识别并适配...

    谷歌浏览器插件,用于修改UserAgent插件

    谷歌浏览器的一款实用插件,用于修改UserAgent请求头,内置了各种客户端的默认请求头,例如Linux、windows、android、IOS等,使用方法也很简单,选中目标UA头,然后直接激活就可以了,插件表面显示为ON时,就表示...

    Laravel开发-useragent

    'UserAgent' => Fideloper\UserAgent\Facades\UserAgent::class, ], ``` 3. **使用**:现在,你可以通过`UserAgent` Facade来解析和获取用户代理信息: ```php public function index() { $user = UserAgent...

    UserAgent 数据.xml

    包含大量UserAgent数据信息,满足相关行业人员需要,相关数据为2015年至今,比较新,可放心使用

    前端开源库-metal-useragent

    `Metal-UserAgent` 是一个专为前端开发者设计的开源库,它可以帮助我们识别和解析用户的浏览器用户代理(User-Agent)字符串。`Metal-UserAgent` 是基于 `Metal.js` 框架构建的,提供了简洁且高效的 API 来处理这一...

    fake_useragent.json

    fake_useragent 本地文件,版本为 0.1.11。FakeUserAgentError('Maximum amount of retries reached') 彻底解决办法中,fake_useragent.json 文件需要从 herokuapp 下载。为无法打开 herokuapp 网站的朋友提供下载。

    fake_useragent.zip

    在Python编程中,Fake UserAgent库是一个非常实用的工具,它允许开发者生成逼真的用户代理字符串,以模拟不同浏览器或设备访问网站。这个工具的主要作用是帮助开发人员在进行网络爬虫或者自动化测试时,避免被目标...

    UserAgent-45184条记录.txt

    一年以来收集到的UserAgent数据,总数45184条,已做字符去重

Global site tag (gtag.js) - Google Analytics