User-Agent的变迁——浏览器大战之前世今生
? ?一切的開始還得從NCSA Mosaic說起,Mosaic是由國家超級計算機應用中心開發的一款瀏覽器。稱作?“NCSA_Mosaic/2.0(Windows 3.1)”,Mosaic支持在文本中展示圖片,因此瀏覽器變的非常有趣了。
? ? ? 然而很快就出現了一個全新的瀏覽器,那就是著名的Mozilla,它被稱為“Mosaic殺手”,然而Mosaic顯得不高興了,于是后來Mozilla更名為Netscape,?Netscape自稱“Mozilla/1.0(Win3.1)”,事情開始變得更加有趣了。Netscape支持框架,框架深受大家喜愛便流行開來,但是Mosaic不支持框架,于是網站管理員探測瀏覽器的User-Agent,對Mozilla瀏覽器發送含有框架的頁面,對非Mozilla瀏覽器發送沒有框架的頁面。
?? ? 后來Netscape戲稱微軟的Windows是“非調試過的硬件驅動程序”,結果微軟很生氣。于是微軟開發了自己的網絡瀏覽器Internet Explorer,微軟對Internet Explorer寄予厚望,并希望它可以成為“Netscape殺手”。Internet Explorer也支持框架,但它不像Mozilla可以接收有框架的頁面。微軟很快失去了耐心,它不能坐以待斃,微軟選擇將Internet Explorer兼容Mozilla,開始模仿Netscape,稱Internet Explorer為“Mozilla/1.22(compatible; MSIE 2.0; Windows 95)”,所以Internet Explorer可以收到含有框架的頁面了,所有微軟的人都很高興,但是網站管理員卻為此大為苦惱。
?? ? 微軟將Internet Explorer和Windows捆綁銷售,而且把Internet Explorer做得比Netscape更好,第一次瀏覽器大戰一觸即發,結果是Netscape慘敗,微軟更加高興了。但沒想到的是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/20040825Camino/0.8.1”,或“Mozilla/5.0 (Windows; U; Windows NT5.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, likeGecko),這個世界更讓人困惑了.
? ? ??
? ? ? 后來出現了Opera這樣的主兒,宣稱“允許用戶自己決定讓瀏覽器裝成誰”,它的菜單中提供了Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera9.51,?Mozilla/5.0(Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51,Opera/9.51 (WindowsNT 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字符串徹底混亂了,也幾乎不再發揮任何作用,每個人都宣稱自己是別人,混亂充斥人間啊....
?
總結
以上是生活随笔為你收集整理的User-Agent的变迁——浏览器大战之前世今生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 太阳代理ip_IP直通车 | 冬季之始,
- 下一篇: 2017年html5行业报告,云适配发布