一汉矿、基礎(chǔ)知識篇:
Http Header之User-Agent
User Agent中文名為用戶代理拜隧,是Http協(xié)議中的一部分呻此,屬于頭域的組成部分轮纫,User Agent也簡稱UA。它是一個特殊字符串頭焚鲜,是一種向訪問網(wǎng)站提供你所使用的瀏覽器類型及版本掌唾、操作系統(tǒng)及版本、瀏覽器內(nèi)核恃泪、等信息的標(biāo)識郑兴。通過這個標(biāo) 識,用戶所訪問的網(wǎng)站可以顯示不同的排版從而為用戶提供更好的體驗(yàn)或者進(jìn)行信息統(tǒng)計贝乎;例如用手機(jī)訪問谷歌和電腦訪問是不一樣的情连,這些是谷歌根據(jù)訪問者的 UA來判斷的。UA可以進(jìn)行偽裝览效。
瀏覽器的UA字串的標(biāo)準(zhǔn)格式:瀏覽器標(biāo)識 (操作系統(tǒng)標(biāo)識; 加密等級標(biāo)識; 瀏覽器語言) 渲染引擎標(biāo)識版本信息却舀。但各個瀏覽器有所不同。
字串說明:
1锤灿、瀏覽器標(biāo)識
出于兼容及推廣等目的挽拔,很多瀏覽器的標(biāo)識相同,因此瀏覽器標(biāo)識并不能說明瀏覽器的真實(shí)版本但校,真實(shí)版本信息在 UA 字串尾部可以找到螃诅。
2、操作系統(tǒng)標(biāo)識
3、加密等級標(biāo)識
N: 表示無安全加密
I: 表示弱安全加密
U: 表示強(qiáng)安全加密
4术裸、瀏覽器語言
在首選項(xiàng) > 常規(guī) > 語言中指定的語言
5倘是、渲染引擎
顯示瀏覽器使用的主流渲染引擎有:Gecko、WebKit袭艺、KHTML搀崭、Presto、Trident猾编、Tasman等瘤睹,格式為:渲染引擎/版本信息
6、版本信息
顯示瀏覽器的真實(shí)版本信息答倡,格式為:瀏覽器/版本信息
瀏覽器User-Agent的詳細(xì)信息
PC端:
safari 5.1 – MAC
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50
safari 5.1 – Windows
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50
IE 9.0
User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;
IE 8.0
User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
IE 7.0
User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
IE 6.0
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Firefox 4.0.1 – MAC
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Firefox 4.0.1 – Windows
User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Opera 11.11 – MAC
User-Agent:Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11
Opera 11.11 – Windows
User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11
Chrome 17.0 – MAC
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
傲游(Maxthon)
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)
騰訊TT
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)
世界之窗(The World) 2.x
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
世界之窗(The World) 3.x
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)
搜狗瀏覽器 1.x
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)
360瀏覽器
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)
Avant
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)
Green Browser
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
移動設(shè)備端:
safari iOS 4.33 – iPhone
User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
safari ios 4.33 – iPod Touch
User-Agent:Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
safari iOS 4.33 – iPad
User-Agent:Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
Android N1
User-Agent: Mozilla/5.0 (Linux; U; android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Android QQ瀏覽器 For android
User-Agent: MQQBrowser/26 Mozilla/5.0 (linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Android Opera Mobile
User-Agent: Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10
Android Pad Moto Xoom
User-Agent: Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
BlackBerry
User-Agent: Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.337 Mobile Safari/534.1+
WebOS HP Touchpad
User-Agent: Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0
Nokia N97
User-Agent: Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124
Windows Phone Mango
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)
UC無
User-Agent: UCWEB7.0.2.37/28/999
UC標(biāo)準(zhǔn)
User-Agent: NOKIA5700/ UCWEB7.0.2.37/28/999
UCOpenwave
User-Agent: Openwave/ UCWEB7.0.2.37/28/999
UC Opera
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999
二轰传、瀏覽器識別
1、IE瀏覽器(以IE 9.0 為例)
PC端:User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;
移動設(shè)備:User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)
由于遨游苇羡、世界之窗绸吸、360瀏覽器、騰訊瀏覽器以及搜狗瀏覽器设江、Avant锦茁、Green Browser均采用IE的內(nèi)核,因此IE瀏覽器判斷的標(biāo)準(zhǔn)是”MSIE“字段叉存,MSIE字段后面的數(shù)字為版本號码俩,但同時還需要判斷不包 含”Maxthon“、”The world“歼捏、”360SE“稿存、”TencentTraveler“、”SE“瞳秽、”Avant“等字段(Green Browser沒有明顯標(biāo)識)瓣履。移動設(shè)備還需要判斷IEMobile+版本號。
2练俐、360瀏覽器
PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; InfoPath.2; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; 360SE)
移動設(shè)備:暫無
360瀏覽器的判斷標(biāo)準(zhǔn)是”360SE”字段袖迎,沒有版本表示。
3腺晾、搜狗瀏覽器
PC端:User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)
移動設(shè)備:暫無
搜狗瀏覽器的判斷標(biāo)準(zhǔn)是”SE“燕锥、”MetaSr“字段,版本號為SE后面的數(shù)字悯蝉。
4归形、Chrome
PC端:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
移動設(shè)備:User-Agent: Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
PC端chrome瀏覽器的判斷標(biāo)準(zhǔn)是chrome字段,chrome后面的數(shù)字為版本號鼻由;移動端的chrome瀏覽器判斷”android“暇榴、”linux“厚棵、”mobile safari“等字段,version后面的數(shù)字為版本號跺撼。
5窟感、Safari
PC端:User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50
移動設(shè)備:User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
由于Chrome及Nokia’s Series 60 browser也使用WebKit內(nèi)核,因此Safari瀏覽器的判斷必須是:包含safari字段歉井,同時不包含chrome等信息,確定 后”version/“后面的數(shù)字即為版本號哈误。在以上條件下包含Mobile字段的即為移動設(shè)備上的Safari瀏覽器哩至。
6、騰訊瀏覽器
PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; TencentTraveler 4.0; .NET CLR 2.0.50727)
移動設(shè)備:User-Agent: MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
騰訊瀏覽器的判斷標(biāo)準(zhǔn)是”TencentTraveler“或者”QQBrowser“蜜自,TencentTraveler或QQBrowser后面的數(shù)字為版本號菩貌。
7、Firefox
PC端:User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
移動設(shè)備:User-Agent: Mozilla/5.0 (Androdi; Linux armv7l; rv:5.0) Gecko/ Firefox/5.0 fennec/5.0
Firefox的判斷標(biāo)準(zhǔn)是Firefox字段重荠,firefox后面的數(shù)字為版本號箭阶。
8、The world
PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)
移動設(shè)備:暫無
Theworld瀏覽器的判斷標(biāo)準(zhǔn)是”The world“字段戈鲁,沒有標(biāo)示版本號仇参。
需要注意的是:The world 2.x版本的User-Agent中沒有”The world“的字段。
9婆殿、遨游
PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)
移動設(shè)備:暫無
遨游瀏覽器的判斷標(biāo)準(zhǔn)是”Maxthon“诈乒,Maxthon后面的數(shù)字為版本號。
10婆芦、Opera
PC端:User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11
移動設(shè)備:User-Agent: Opera/9.80 (Android 2.3.4; Linux; Opera mobi/adr-1107051709; U; zh-cn) Presto/2.8.149 Version/11.10
opera瀏覽器的判斷標(biāo)準(zhǔn)是opera字段怕磨,opera字段后面的數(shù)字為版本號。
11消约、UC瀏覽器
UC Web有多種模式瀏覽方式肠鲫,對應(yīng)的User-Agent為:
UC無
User-Agent: UCWEB7.0.2.37/28/999
UC標(biāo)準(zhǔn)
User-Agent: NOKIA5700/ UCWEB7.0.2.37/28/999
UCOpenwave
User-Agent: Openwave/ UCWEB7.0.2.37/28/999
UC Opera
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999
UC瀏覽器的判斷標(biāo)準(zhǔn)是”UCWEB“字段,UCWEB后面的數(shù)字為版本號或粮。
操作系統(tǒng)定向
操作系統(tǒng)定向依賴于各個瀏覽器在打開頁面時所傳輸?shù)膆ttp header信息中的User-Agent导饲,關(guān)于User-Agent的說明,請參見Http header之User-Agent被啼。
User-Agent的詳細(xì)信息帜消,請參見瀏覽器User-Agent的詳細(xì)信息。
我們來了解User-Agent中的不同操作系統(tǒng)的識別方法浓体。
PC端:
移動設(shè)備端: