瀏覽器 user agent 字串的故事

2021-09-02 01:27:39 字數 2372 閱讀 4319

你是否好奇標識瀏覽器身份的user-agent,為什麼每個瀏覽器都有mozilla字樣?

然而很快就出現了另乙個瀏覽器,這就是著名的mozilla,中文名稱摩斯拉。一說 mozilla = mosaic + killer,意為mosaic殺手,也有說法是 mozilla = mosaic & godzilla,意為馬賽克和哥斯拉,而mozilla最初的吉祥物是只綠色大蜥蜴,後來更改為紅色暴龍,跟哥斯拉長得一樣。但mosaic對此非常不高興,於是後來mozilla更名為netscape,也就是網景。netscape自稱「mozilla/1.0(win3.1)」,事情開始變得更加有趣。網景支援框架(frame),由於大家的喜歡框架變得流行起來,但是mosaic不支援框架,於是**管理員探測user agent,對mozilla瀏覽器傳送含有框架的頁面,對非mozilla瀏覽器傳送沒有框架的頁面。

後來網景拿微軟尋開心,稱微軟的windows是「沒有除錯過的硬體驅動程式」。微軟很生氣,後果很嚴重。此後微軟開發了自己的瀏覽器,這就是internet explorer,並希望它可以成為netscape killer。ie同樣支援框架,但它不是mozilla,所以它總是收不到含有框架的頁面。微軟很鬱悶很快就沉不住氣了,它不想等到所有的**管理員都了解ie並且給ie傳送含有框架的頁面,它選擇宣布ie是相容mozilla,並且模仿netscape稱ie為「mozilla/1.22(compatible; msie 2.0; windows 95)」,於是ie可以收到含有框架的頁面了,所有微軟的人都嗨皮了,但是**管理員開始暈了。

因為微軟將ie和windows**銷售,並且把ie做得比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/20040825 camino/0.8.1」,以及「mozilla/5.0 (windows; u; windows nt 5.1; de; rv:1.8.1.8) gecko/20071008 seamonkey/1.0」,每乙個都將自己裝作mozilla,而它們全都使用gecko。

gecko很出色,而ie完全跟不上它,因此user agent探測規則變了,使用gecko的瀏覽器被傳送了更好的**,而其他瀏覽器則沒有這種待遇。linux的追隨者對此很難過,因為他們編寫了konqueror,它的引擎是khtml,他們認為khtml和gecko一樣出色,但卻因為不是gecko而得不到好的頁面,於是konqueror為得到更好的頁面開始將自己偽裝成「like gecko」,並自稱為「mozilla/5.0 (compatible; konqueror/3.2; freebsd) (khtml, like gecko)」。自此user agent變得更加混亂。

這時更有opera跳出來說「毫無疑問,我們應該讓使用者來決定他們想讓我們偽裝成哪個瀏覽器。」於是opera乾脆建立了選單項讓使用者自主選擇讓opera瀏覽器變成「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; en) opera 9.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 (windows nt 5.1; u; en)」。

因為微軟十分忌憚firefox,於是ie重灌上陣,這次它自稱為「mozilla/4.0 (compatible; msie 8.0; windows nt 6.0) 」,並且渲染效果同樣出色,但是需要**管理員的指令它這麼做才行。

因為以上這段歷史,現在的user-agent字串變得一團糟,幾乎根本無法彰顯它最初的意義。追根溯源,微軟可以說是這一切的始作俑者,但後來每乙個人都在試圖假扮別人,最終把user-agent搞得混亂不堪。

各大瀏覽器誕生年表:

2023年1月23日:mosaic

2023年12月:netscape

2023年:opera

2023年8月16日:internet explorer

2023年10月14日:kongqueror

2023年1月7日:safari

2023年9月2日:chrome

本文譯自此處。

IE瀏覽器UserAgent字串錯誤

我們通過瀏覽器的字串來確定瀏覽器的版本號,有時候出錯。原因是這些有問題的電腦中標明瀏覽器版本的登錄檔不正確。解決方法 開始 執行regedit 開啟登錄檔,找到以下登錄檔 項,刪除version鍵,重啟瀏覽器後問題解決。hkey current user software microsoft win...

修改瀏覽器 User Agent

ie 修改ie的useragent需要編輯登錄檔。hkey current user software microsoft windows currentversion internet settings 5.0 user agent post platform hkey local machine...

瀏覽器之User Agent

一 useragent中文名為使用者 是http協議中的一部分,屬於頭域的組成部分,useragent也簡稱ua。提供1瀏覽器型別及版本 2作業系統及版本 3瀏覽器核心 等資訊的標識。user agent標準格式 瀏覽器標識 作業系統標識 加密等級標識 瀏覽器語言 渲染引擎標識 版本資訊。但各個瀏覽...