最近中文字幕大全|熟女少妇精品一区二区|国产网红主播精品一区|日本一区二区精品理论电影|欧洲少妇无码精品视频在线|久久国产精品永久免费网站|人妻无码久久一区二区免费麻豆|国产日韩欧美一区二区在线高清

十二年專(zhuān)注于品牌網(wǎng)站建設(shè) 十余年專(zhuān)注于網(wǎng)站建設(shè)_小程序開(kāi)發(fā)_APP開(kāi)發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
小程序
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開(kāi)百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

續(xù)介紹WebKit、Konqueror、Chrome、Opera用戶(hù)代理字符串的歷史

百恒網(wǎng)絡(luò) 2013-06-21 6002

我們接著介紹WebKit、Konqueror、Chrome、Opera瀏覽器用戶(hù)代理字符串的歷史,為我們接下來(lái)的檢測(cè)作準(zhǔn)備,雖然有一些我們用得很少,但也應(yīng)該有個(gè)了解,說(shuō)不定那一天成為主流了,我們?cè)偌奔泵γ?lái)準(zhǔn)備就不太好.

5.WebKit

2003年,Apple公司宣布要發(fā)布自己的Web瀏覽器,名字定為Safari。Safari的呈現(xiàn)引擎叫WebKit,是Linux平臺(tái)中Konqueror瀏覽器的呈現(xiàn)引擎KHTML的一個(gè)分支。幾年后,WebKit獨(dú)立出來(lái)成為了一個(gè)開(kāi)源項(xiàng)目,專(zhuān)注于呈現(xiàn)引擎的開(kāi)發(fā)。

這款新瀏覽器和呈現(xiàn)引擎的開(kāi)發(fā)人員也遇到了與Intemet Explorer 3.0類(lèi)似的問(wèn)題:如何確保這款瀏覽器不被流行的站點(diǎn)拒之門(mén)外?答案就是向用戶(hù)代理字符串中放入足夠多的信息,以便站點(diǎn)能夠信任它與其他流行的瀏覽器是兼容的。于是,WebKit的用戶(hù)代理字符串就具備了如下格式:

Mozilla/5.0(平臺(tái);加密類(lèi)型;操作系統(tǒng)或CPU;語(yǔ)言)AppleWebKit/AppleWebKit版本號(hào)

(KHTML, like Gecko) Safari/Safari版本號(hào)

以下就是一個(gè)示例:

Mozilla/5.0 (Macintosh;U; PPC Mac OS X;en) AppleWebKit/124 (KHTML, like Gecko)

Safari/125.1

顯然,這又是一個(gè)很長(zhǎng)的用戶(hù)代理字符串。其中不僅包含了Apple WebKit的版本號(hào),也包含了Safari的版本號(hào)。出于兼容性的考慮,有關(guān)人員很快就決定了將Safari標(biāo)識(shí)為Mozilla。至今,基于WebKit的所有瀏覽器都將自己標(biāo)識(shí)為Mozilla 5.0,與基于Gecko的瀏覽器完全一樣。但Safari的版本號(hào)則通常是瀏覽器的編譯版本號(hào),不一定與發(fā)布時(shí)的版本號(hào)對(duì)應(yīng)。換句話說(shuō),雖然Safari l.25的用戶(hù)代理字符串中包含數(shù)字125.1,但兩者卻不一一對(duì)應(yīng)。

Safari預(yù)發(fā)行1.0版用戶(hù)代理字符串中最耐人尋味,也是最飽受詬病的部分就是字符串n(KHTML,like Gecko)“。Apple因此收到許多開(kāi)發(fā)人員的反饋,他們認(rèn)為這個(gè)字符串明顯是在欺騙客戶(hù)端和服務(wù)器,實(shí)際上是想讓它們把Safari當(dāng)成Gecko(好像光添加Mozilla/5.o還嫌不夠)。Apple的回應(yīng)與微軟在IE的用戶(hù)代理字符串遭到責(zé)難時(shí)如出一轍:Safari與Mozilla兼容,因此網(wǎng)站不應(yīng)該將Safari

用戶(hù)拒之門(mén)外,否則用戶(hù)就會(huì)認(rèn)為自己的瀏覽器不受支持。

到了Safari 3.0發(fā)布時(shí),其用戶(hù)代理字符串又稍微變長(zhǎng)了一點(diǎn)。下面這個(gè)新增的Version記號(hào)一直到現(xiàn)在都被用來(lái)標(biāo)識(shí)Safari實(shí)際的版本號(hào):

Mozilla/5.0 (Macintosh;U; PPC Mac OS X; en) AppleWebKit/522.15.5 (KHTML, likeGecko) Version/3.0.3 Safari/522. 15.5

需要注意的是,這個(gè)變化只在Safari中有,在WebKit中沒(méi)有。換句話說(shuō),其他基于WebKit的濟(jì)覽器可能沒(méi)有這個(gè)變化。南昌網(wǎng)站設(shè)計(jì)公司技術(shù)人員認(rèn)為,確定瀏覽器是否基于WebKit要比確定它是不是Safari更有價(jià)值——就像針對(duì)Gecko -樣。

6.Konqueror

與KDE Linux集成的Konqueror,是一款基于KHTML開(kāi)源呈現(xiàn)引擎的瀏覽器。盡管Konqueror只能在Linux中使用,但它也有數(shù)量可觀的用戶(hù)。為確保最大限度的兼容性,Konqueror效仿IE選擇了如下用戶(hù)代理字符串格式:

Mozilla/5.0 (compatible;Konqueror/版本號(hào);操作系統(tǒng)或CPU)

不過(guò),為了與WebKit的用戶(hù)代理字符串的變化保持一致,Konqueror 3.2又有了變化,以如下格式將自己標(biāo)識(shí)為KHTML:

Mozilla/5.o(compatible; Konqueror/版本號(hào);操作系統(tǒng)或CPU)KHTML/ KHTML版本號(hào)(like Gecko)

下面是一個(gè)例子:

Mozilla/5.O(compatible; Konqueror/3.5; SunOS) KHTML/3.5.0(like Gecko)

其中,Konqueror與KHTML的版本號(hào)比較一致,即使有差別也很小,例如Konqueror 3.5使用KHTML 3.5.1。

7.Chrome

谷歌公司的Chrome瀏覽器以WebKit作為呈現(xiàn)引擎,但使用了不同的JavaScript引擎。在Chrome0.2這個(gè)最初的beta版中,用戶(hù)代理字符串完全取自WebKit,只添加了一段表示Chrome版本號(hào)的信息,格式如下:

Mozilla/5.O(平臺(tái);加密類(lèi)型;操作系統(tǒng)或CPU;語(yǔ)言)AppleWebKit/AppleWebKit版本號(hào)(KHTML,like Gecko) Chrome/ Chrome版本號(hào)Safari/ Safari版本Chrome 0.2給出的完整的用戶(hù)代理字符串如下:Mozilla/5.0(Windows;U; Windows NT 5.1; en-US) AppleWebKit/525. 13 ( KHTML,like Gecko) Chrome/0.2.149. 29 Safari/525. 13

其中,WebKit版本與Safari版本看起來(lái)似乎始終會(huì)保持一致,盡管沒(méi)有十分的把握①。

8.Opera

僅就用戶(hù)代理字符串而言,Opera應(yīng)該是最有爭(zhēng)議的一款瀏覽器了。Opera默認(rèn)的用戶(hù)代理字符串是所有現(xiàn)代瀏覽器中最合理的——正確地標(biāo)識(shí)了自身及其版本號(hào)。在Opera 8.0之前,其用戶(hù)代理字符串采用如下格式:

Opera/版本號(hào)(操作系統(tǒng)或CPU;加密類(lèi)型)[語(yǔ)言]

Windows XP中的Opera 7.54會(huì)顯示下面的用戶(hù)代理字符串:

Opera/7. 54 (Windows NT 5 .1;U) [en]

Opera 8發(fā)布后,用戶(hù)代理字符串的“語(yǔ)言”部分被移到圓括號(hào)內(nèi),以便更好地與其他瀏覽器匹配,如下所示:

opera/版本號(hào)(操作系統(tǒng)或CPU;加密類(lèi)型;語(yǔ)言)

Windows XP中的Opera 8會(huì)顯示下面的用戶(hù)代理字符串:

opera/8.O(Windows NT 5.1; U; en)

默認(rèn)情況下,Opera會(huì)以上面這種簡(jiǎn)單的格式返回一個(gè)用戶(hù)代理字符串。目前來(lái)看,Opera也是四大主要瀏覽器中@,唯一一個(gè)使用產(chǎn)品名和版本號(hào)來(lái)完全徹底地標(biāo)識(shí)自身的瀏覽器。可是,與其他瀏覽器一樣,Opera在使用自己的用戶(hù)代理字符串時(shí)也遇到了問(wèn)題。即使技術(shù)上正確,但因特網(wǎng)上仍然有不少瀏覽器嗅探代碼,只鐘情于報(bào)告Mozilla產(chǎn)品名的那些用戶(hù)代理字符串。另外還有相當(dāng)數(shù)量的代碼則只對(duì)IE或Gecko感興趣。Opera沒(méi)有選擇通過(guò)修改自身的用戶(hù)代理字符串來(lái)迷惑嗅探代碼,而

是干脆選擇通過(guò)修改自身的用戶(hù)代理字符串將自身標(biāo)識(shí)為一個(gè)完全不同的瀏覽器。

Opera 9以后,出現(xiàn)了兩種修改用戶(hù)代理字符串的方式。一種方式是將自身標(biāo)識(shí)為另外一個(gè)瀏覽器,如Firefox或者IE。在這種方式下,用戶(hù)代理字符串就如同F(xiàn)irefox或IE的用戶(hù)代理字符串一樣,

只不過(guò)末尾追加了字符串Opera及Opera的版本號(hào)。下面是一個(gè)例子:

Mozilla/5.0(Windows NT 5.1;Uj en; rv:1.8.1)Gecko/200 61208 Fjrefox/2.0.O Opera 9.50

Mozilla/4.O(compatible; MSIE 6.Oj Windows NT 5.1;en) Opera 9.50

第一個(gè)字符串將Opera 9.5標(biāo)識(shí)為Firefox2,同時(shí)帶有Opera版本信息。第二個(gè)字符串將Opera 9.5

標(biāo)識(shí)為IE 6,也包含了Opera版本信息。這兩個(gè)用戶(hù)代理字符串可以通過(guò)針對(duì)Firefox或IE的大多數(shù)測(cè)試,不過(guò)還是為識(shí)別Opera留下了余地。

Opera標(biāo)識(shí)自身的另一種方式,就是把自己裝扮成Firefox或IE。在這種隱瞞真實(shí)身份的情況下,用戶(hù)代理字符串實(shí)際上與其他瀏覽器返回的相同——既沒(méi)有Opera字樣,也不包含Opera版本信息。

換句話說(shuō),在啟用了身份隱瞞功能的情況下,無(wú)法將Opera和其他瀏覽器區(qū)別開(kāi)來(lái)。另外,由于Opera喜歡在不告知用戶(hù)的情況下針對(duì)站點(diǎn)來(lái)設(shè)置用戶(hù)代理字符串,因此問(wèn)題就更復(fù)雜化了。例如,打開(kāi)My Yahoo!站點(diǎn)(http://www.yahoo.com)會(huì)自動(dòng)導(dǎo)致Opera將自己裝扮成Firefox。如此一來(lái),要想識(shí)別Opera就難上加難了。

本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://m.iotmicrosoft.com 如轉(zhuǎn)載請(qǐng)注明出處!

400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開(kāi)百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專(zhuān)線 備案專(zhuān)線
 
×