HttpHeader之User-AgentUserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。浏览器的UA字串的标准格式:浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识版本信息。但各个浏览器有所不同。
1、浏览器标识出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在UA字串尾部可以找到。
2、操作系统标识
FreeBSD X11;FreeBSD(version no.)i386 X11;FreeBSD(version no.)AMD64Linux X11;Linux ppc X11;Linux ppc64X11;Linux i686X11;Linux x86_64Mac Macintosh;PPC Mac OS X Macintosh;Intel Mac OS XSolaris X11;SunOS i86pc X11;SunOs sun4uWindows Windows NT 6.1 对应windows7 Windows NT 6.0 对应windows Vista Windows NT 5.2 对应windows 2003 Windows NT 5.1 对应windows xp Windows NT 5.0 对应windows 2000Windows MEWindows 98
3、加密等级标识N:表示无安全加密I:表示弱安全加密U:表示强安全加密
4、浏览器语言在首选项>常规>语言中指定的语言
5、渲染引擎显示浏览器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式为:渲染引擎/版本信息
6、版本信息显示浏览器的真实版本信息,格式为:浏览器/版本信息 浏览器User-Agent的详细信息
PC端:
safari5.1–MACUser-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50 safari5.1–WindowsUser-Agent:Mozilla/5.0(Windows;U;WindowsNT6.1;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50
IE9.0
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0; IE8.0
User-Agent:Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0) IE7.0
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0) IE6.0User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1) Firefox4.0.1–MACUser-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10.6;rv:2.0.1)Gecko/20100101Firefox/4.0.1 Firefox4.0.1–WindowsUser-Agent:Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1 Opera11.11–MACUser-Agent:Opera/9.80(Macintosh;IntelMacOSX10.6.8;U;en)Presto/2.8.131Version/11.11 Opera11.11–WindowsUser-Agent:Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11 Chrome17.0–MACUser-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11 傲游(Maxthon)User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0) 腾讯TTUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TencentTraveler4.0) 世界之窗(TheWorld)2.xUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1) 世界之窗(TheWorld)3.xUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TheWorld) 搜狗浏览器1.xUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0) 360浏览器User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;360SE) AvantUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;AvantBrowser) GreenBrowserUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1) 移动设备端: safariiOS4.33–iPhoneUser-Agent:Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5 safariiOS4.33–iPodTouchUser-Agent:Mozilla/5.0(iPod;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5 safariiOS4.33–iPadUser-Agent:Mozilla/5.0(iPad;U;CPUOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5 AndroidN1User-Agent:Mozilla/5.0(Linux;U;Android2.3.7;en-us;NexusOneBuild/FRF91)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1 AndroidQQ浏览器ForandroidUser-Agent:MQQBrowser/26Mozilla/5.0(Linux;U;Android2.3.7;zh-cn;MB200Build/GRJ22;CyanogenMod-7)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1 AndroidOperaMobileUser-Agent:Opera/9.80(Android2.3.4;Linux;OperaMobi/build-1107180945;U;en-GB)Presto/2.8.149Version/11.10 AndroidPadMotoXoomUser-Agent:Mozilla/5.0(Linux;U;Android3.0;en-us;XoomBuild/HRI39)AppleWebKit/534.13(KHTML,likeGecko)Version/4.0Safari/534.13 BlackBerryUser-Agent:Mozilla/5.0(BlackBerry;U;BlackBerry9800;en)AppleWebKit/534.1+(KHTML,likeGecko)Version/6.0.0.337MobileSafari/534.1+ WebOSHPTouchpadUser-Agent:Mozilla/5.0(hp-tablet;Linux;hpwOS/3.0.0;U;en-US)AppleWebKit/534.6(KHTML,likeGecko)wOSBrowser/233.70Safari/534.6TouchPad/1.0 NokiaN97User-Agent:Mozilla/5.0(SymbianOS/9.4;Series60/5.0NokiaN97-1/20.0.019;Profile/MIDP-2.1Configuration/CLDC-1.1)AppleWebKit/525(KHTML,likeGecko)BrowserNG/7.1.18124 WindowsPhoneMangoUser-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsPhoneOS7.5;Trident/5.0;IEMobile/9.0;HTC;Titan) UC无User-Agent:UCWEB7.0.2.37/28/999 UC标准User-Agent:NOKIA5700/UCWEB7.0.2.37/28/999 UCOpenwaveUser-Agent:Openwave/UCWEB7.0.2.37/28/999 UCOperaUser-Agent:Mozilla/4.0(compatible;MSIE6.0;)Opera/UCWEB7.0.2.37/28/999 二、浏览器识别 1、IE浏览器(以IE9.0为例)PC端:User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;移动设备:User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsPhoneOS7.5;Trident/5.0;IEMobile/9.0;HTC;Titan)由于遨游、世界之窗、360浏览器、腾讯浏览器以及搜狗浏览器、Avant、GreenBrowser均采用IE的内核,因此IE浏览器判断的标准是”MSIE“字段,MSIE字段后面的数字为版本号,但同时还需要判断不包含”Maxthon“、”Theworld“、”360SE“、”TencentTraveler“、”SE“、”Avant“等字段(GreenBrowser没有明显标识)。移动设备还需要判断IEMobile+版本号。 2、360浏览器PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;InfoPath.2;.NET4.0C;.NET4.0E;.NETCLR2.0.50727;360SE)移动设备:暂无360浏览器的判断标准是”360SE”字段,没有版本表示。 3、搜狗浏览器PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0)移动设备:暂无搜狗浏览器的判断标准是”SE“、”MetaSr“字段,版本号为SE后面的数字。 4、ChromePC端:Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11移动设备:User-Agent:Mozilla/5.0(Linux;U;Android2.2.1;zh-cn;HTC_Wildfire_A3333Build/FRG83D)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1PC端chrome浏览器的判断标准是chrome字段,chrome后面的数字为版本号;移动端的chrome浏览器判断”android“、”linux“、”mobilesafari“等字段,version后面的数字为版本号。 5、SafariPC端:User-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50移动设备:User-Agent:Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5由于Chrome及Nokia’sSeries60browser也使用WebKit内核,因此Safari浏览器的判断必须是:包含safari字段,同时不包含chrome等信息,确定后”version/“后面的数字即为版本号。在以上条件下包含Mobile字段的即为移动设备上的Safari浏览器。 6、腾讯浏览器PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;TencentTraveler4.0;.NETCLR2.0.50727)移动设备:User-Agent:MQQBrowser/26Mozilla/5.0(Linux;U;Android2.3.7;zh-cn;MB200Build/GRJ22;CyanogenMod-7)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1腾讯浏览器的判断标准是”TencentTraveler“或者”QQBrowser“,TencentTraveler或QQBrowser后面的数字为版本号。 7、FirefoxPC端:User-Agent:Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1移动设备:User-Agent:Mozilla/5.0(Android;Linuxarmv7l;rv:5.0)Gecko/Firefox/5.0fennec/5.0Firefox的判断标准是Firefox字段,firefox后面的数字为版本号。 8、TheworldPC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TheWorld)移动设备:暂无Theworld浏览器的判断标准是”Theworld“字段,没有标示版本号。需要注意的是:Theworld2.x版本的User-Agent中没有”Theworld“的字段。 9、遨游PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0)移动设备:暂无遨游浏览器的判断标准是”Maxthon“,Maxthon后面的数字为版本号。 10、OperaPC端:User-Agent:Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11移动设备:User-Agent:Opera/9.80(Android2.3.4;Linux;Operamobi/adr-1107051709;U;zh-cn)Presto/2.8.149Version/11.10opera浏览器的判断标准是opera字段,opera字段后面的数字为版本号。 11、UC浏览器UCWeb有多种模式浏览方式,对应的User-Agent为:UC无User-Agent:UCWEB7.0.2.37/28/999UC标准User-Agent:NOKIA5700/UCWEB7.0.2.37/28/999UCOpenwaveUser-Agent:Openwave/UCWEB7.0.2.37/28/999UCOperaUser-Agent:Mozilla/4.0(compatible;MSIE6.0;)Opera/UCWEB7.0.2.37/28/999UC浏览器的判断标准是”UCWEB“字段,UCWEB后面的数字为版本号。操作系统定向操作系统定向依赖于各个浏览器在打开页面时所传输的httpheader信息中的User-Agent,关于User-Agent的说明,请参见Httpheader之User-Agent。User-Agent的详细信息,请参见浏览器User-Agent的详细信息。 我们来了解User-Agent中的不同操作系统的识别方法。PC端:FreeBSD X11;FreeBSD(version no.)i386 X11;FreeBSD(version no.)AMD64Linux X11;Linux ppc X11;Linux ppc64X11;Linux i686X11;Linux x86_64Mac Macintosh;PPC Mac OS X Macintosh;Intel Mac OS XSolaris X11;SunOS i86pc X11;SunOs sun4uWindows Windows NT 6.1 对应windows7Windows NT 6.0 对应windows VistaWindows NT 5.2 对应windows 2003Windows NT 5.1 对应windows xpWindows NT 5.0 对应windows 2000Windows MEWindows 98 移动设备端:iOS iPhone OS 4_3_3 iPhone/iPodOS 4_3_3 iPadAndroid Android 2.3.7 后面数字为版本号WebOs hpwOS/3.0.0SymbianOS SymbianOS/9.4Windows Phone OS Windows Phone OS 7.5BlackBerry BlackBerry