背景故事

在大D的某个水文中,52computer童鞋对大D文章评论区的操作系统以及浏览器识别产生了疑问。

Unnamed QQ Screenshot20130226105813

并且大D已经好久没有写水文了,blog都长草了,该写个水文拔拔草了。

遂成本文

作战开始

首先得了解一下什么是UserAgent。

UserAgent,用户代理识别。简称UA,它是一个特殊的字符串,服务器通过该字符串可以识别来访客户使用的操作系统及版本,浏览器及版本等诸多信息。

很多网站使用手机访问和使用电脑访问会呈现不同的页面,这就是通过识别UA来完成的。

一个比较常见的UserAgent如下:

Mozilla/5.0 (MSIE 9.0; Windows NT 6.1; Trident/5.0)

这个UserAgent是运行在Windows 7上的IE9.0

了解了UserAgent,还要知道一个问题就是浏览器对UserAgent的影响。

在UserAgent的操作系统标识上,约定:

X11为Linux

Windows为Windows

不同的浏览器对操作系统标识的处理也不一致,在Windows平台上,基本一致,都是识别为Windows。

但在Linux平台上,众多的发行版导致了识别的不一致。

拿Ubuntu举例,使用Ubuntu官方源安装的Firefox,基本上都可以顺利识别出操作系统为Ubuntu。

使用其他源安装的浏览器只能识别操作系统为Linux,这时操作系统标识为X11:Linux,这样,在WordPress的插件WP-UserAgent上显示的就是GNU/Linux

UserAgent伪装

UserAgent伪装的使用常见于网页设计师,毕竟不可能为了兼容所有浏览器,买来一堆设备来逐个测试。

UserAgent伪装的一种方式是用浏览器自带的元素审核来修改,另一种方法就是使用UserAgent伪装插件。

拿Chrome举例

Chrome有一款插件叫做:Chrome UA Spoofer,可以在Chrome应用商店内下载到。

插件内置了一些常见的UA。

Unnamed QQ Screenshot20130226112634

可以使用内置的进行一些常见设备的伪装。

如果需要做到像大D的恶搞一样的UA,如下图:

Unnamed QQ Screenshot20130226112622

则需要自己设置,打开插件的Settings,根据自己的需要来填写就可以了。
浏览器UA标准格式:

浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息

比如大D的那个Ubuntu zhen.ge.V5,标识如下:

Mozilla/5.0 (MSIE 12.0;X11; U; CPU Ubuntu/zhen.ge.V5; en-us; Trident/5.0)

可以根据自己的需要来修改。。哈哈。。

版权声明
转载保留版权: 大D技研室 | 《十分钟带你误解UserAgent》
本文链接地址:https://www.dadclab.com/archives/2979.jiecao
转载须知:如果您需要转载本文,请将版权信息,版权授权方式,以及本文的链接地址注明,谢谢合作。
本文被贴上了: , , , 标签