全國服務熱線:
0791-88196636

南昌莫非網絡科技:Netscape Navigator、Internet Explorer、Gecko用戶代理字符串的歷史

 二維碼 45748
發表時間:2020-12-09 10:27作者:南昌莫非網絡科技公司來源:南昌莫非網絡科技公司網址:http://m.lwdongzao.com

南昌莫非網絡科技:Netscape Navigator、Internet Explorer、Gecko用戶代理字符串的歷史.

用戶代理檢測通過檢測用戶代理字符串來確定實際使用的瀏覽器。在每一次HTTP請求過程中,用戶代理字符串是作為響應首部發送的,而且該字符串可以通過JavaScript的navigator.userAgent屬性訪問。在服務器端,通過檢測用戶代理字符串來確定用戶使用的瀏覽器是一種常用而且廣為接受的做法。而在客戶端,用戶代理檢測一般被當作一種萬不得已才用的做法,其優先級排在能力檢測和(或)怪癖檢測之后。


提到與用戶代理字符串有關的爭議,就不得不提到電子欺騙(spoofing)。所謂電子欺騙,就是指瀏覽器通過在自己的用戶代理字符串加入一些錯誤或誤導性信息,來達到欺騙服務器的目的。要弄清楚這個問題的來龍去脈,必須從Web問世初期用戶代理字符串的發展講起。


用戶代理字符串的歷史


HTTP規范(包括1.0和1.1版)明確規定,瀏覽器應該發送簡短的用戶代理字符串,指明瀏覽器的名稱和版本號。RFC 2616(即HTTP l.1協議規范)是這樣描述用戶代理字符串的:


“產品標識符常用于通信應用程序標識自身,由軟件名和版本組成。使用產品標識符的大多數領域也允許列出作為應用程序主要部分的子產品,由空格分隔。按照慣例,產品要按照相應的重要程度依次列出,以便標識應用程序。”


上述規范進一步規定,用戶代理字符串應該以一組產品的形式給出,字符串格式為:標識符/產品版本號。但是,現實中的用戶代理字符串則絕沒有如此簡單。


1.早期的瀏覽器


1993年,美國NCSA (National Center for Supercomputing Applications,國家超級計算機中心)發布了世界上**款Web瀏覽器Mosaic。這款瀏覽器的用戶代理字符串非常簡單,類似如下所示:


Mosaic/0.9


盡管這個字符串在不同操作系統和不同平臺下會有所變化,但其基本格式還是簡單明了的。正斜杠前面的文本表示產品名稱(有時候會出現NCSA Mosaic或其他類似字樣),而斜杠后面的文本是產品的版本號。


Netscape Communications公司介入瀏覽器開發領域后,遂將自己產品的代號定名為Mozilla(Mosaic Killer的簡寫,意即Mosaic殺手)。該公司**個公開發行版,Netscape Navigator2的用戶代理字符串具有如下格式:


Mozilla/版本號[語言](平臺;加密類型)


Netscape在堅持將產品名和版本號作為用戶代理字符串開頭的基礎上,又在后面依次添加了下列信息:


口語言:即語言代碼,表示應用程序針對哪種語言設計;


口平臺:即操作系統和(或)平臺,表示應用程序的運行環境;


口加密類型:即安全加密的類型。可能的值有U(128位加密)、I (40位加密)和N(未加密)。


典型的Netscape Navigator 2的用戶代理字符串如下所示:


Mozilla/2. 02 [ fr] (WinNT; 工)


這個字符串表示瀏覽器是Netscape Navigator 2.02.為法語國家編譯,運行在Windows NT平臺下,加密類型為40位。那個時候,通過用戶代理字符串中的產品名稱,至少還能夠輕易地確定用戶使用的是什么瀏覽器。


2. Netscape Navigator 3和Internet Explorer 3


1996年,Netscape Navigator 3發布,隨即超越Mosaic成為當時***的Web瀏覽器。而用戶代理字符串只作了一些小的改變,刪除了語言標記,同時允許添加操作系統或系統使用的CPU等可選信息。于是,格式變成如下所示:


Mozilla/版本號(平臺;加密類型[j操作系統或CPU說明])


運行在Windows系統下的Netscape Navigator 3的用戶代理字符串大致如下:


Mozilla/3.0 (Win95;U)


這個字符串表示Netscape Navigator 3運行在Windows 95中,采用了128位加密技術。可見,在Windows系統中,字符串中的操作系統或CPU說明被省略了。


Netscape Navigator 3發布后不久,微軟也發布了其**款贏得用戶廣泛認可的Web瀏覽器,即Internet Explorer 3。由于Netscape瀏覽器在當時占絕對市場份額,許多服務器在提供網頁之前都要專門檢測該瀏覽器。如果用戶通過IE打不開相關網頁,那么這個新生的瀏覽器很可能就會夭折。于是,微軟決定將IE的用戶代理字符串修改成兼容Netscape的形式,結果如下:


Mozilla/2.0(compatible; MSIE版本號;操作系統)


例如,Windows 95平臺下的Internet Explorer 3 .02帶有如下用戶代理字符串:


Mozilla/2.0 (compatible; MSIE 3.02; Windows 95)


由于當時的大多數瀏覽器嗅探程序只檢測用戶代理字符串中的產品名稱部分,結果IE就成功地將自己標識為Mozilla,從而偽裝成Netscape Navigator。微軟的這一做法招致了很多批評,因為它違反了瀏覽器標識的慣例。更不規范的是,IE將真正的瀏覽器版本號插入到了字符串的中間。


字符串中另外一個有趣的地方是標識符Mozilla 2.0(而不是3.0)。畢竟,當時的主流版本是3.0,改成3.0應該對微軟更有利才對。但真正的謎底到現在還沒有揭開——但很可能只是人為疏忽所致。


3. Netscape Communicator 4和Internet Explorer 4-8


1997年8月,Netscapte Communicator4發布(這一版將瀏覽器名字中的Navigator換成了Communicator)。Netscape繼續遵循了第3版時的用戶代理字符串格式:Mozilla/版本號(平臺;加密類型[;操作系統或CPU說明])


因此,Windows 98平臺中第4版的用戶代理字符串如下所示:


Mozilla/4.O(Win98;工)


Netscape在發布補丁時,子版本號也會相應提高,用戶代理字符串如下面的4.79版所示:


Mozilla/4. 79 (Win98;工)


但是,微軟在發布Internet Explorer4時,順便將用戶代理字符串修改成了如下格式:


Mozilla/4.O(compatible; MSIE版本號j操作系統)


換句話說,對于Windows 98中運行的IE4而言,其用戶代理字符串為:


Mozilla/4.O(compatible; MSIE 4.O;Windows 98)


經過此番修改,Mozilla版本號就與實際的IE版本號一致了,為識別它們的第四代瀏覽器提供了方便。但令人遺憾的是,兩者的一致性**于這一個版本。在Internet Explorer 4.5發布時(只針對Macs),雖然Mozilla版本號還是4,但IE版本號則改成了如下所示:


Mozilla/4.O (compatible; MSIE 4.5;Mac_PowerPC; Trident/4.O)


此后,lE的版本一直到7都沿襲了這個模式。而IE 8的用戶代理字符串中添加了呈現引擎(Trident)


的版本號①:


Mozilla/4.O(compatible; MSIE 8.0;Windows NT 5 .1; Trident/4.O)


至于IE的后續版本會不會修改Mozilla版本號,目前還無從知曉;南昌網頁設計公司技術人員認為,改不改這個版本號,意義已經不大了(誰也不能指望通過它得到什么可靠的結論)。


4.Gecko


Gecko是Firefox的呈現引擎。當初的Gecko是作為通用Mozilla瀏覽器的一部分開發的,而**個采用Gecko引擎的瀏覽器是Netscape 6。為Netscape 6編寫的一份規范中規定了未來版本中用戶代理字符串的構成。這個新格式與4.x版本中相對簡單的字符串相比,有著非常大的區別,如下所示:


Mozilla/Mozilla版本號(平臺;加密類型;操作系統或CPU;語言;預先發行版本)


Gecko/Gecko版本號應用程序或產品/應用程序或產品版本號


這個明顯復雜了很多的用戶代理字符串中蘊含很多新想法。下表列出了字符串中各項的用意。


字符串項 必需嗎 說 明


Mozilla版本號 是 Mozilla的版本號平臺 是 瀏覽器運行的平臺。可能的值包括Windows. Mac和XII(指Unix的X窗口系統)


加密類型是加密技術的類型:U表示128位、I表示40位、N表示未加密操作系統或CPU 是 瀏覽器運行的操作系統或計算機系統使用的CPU。在Windows平臺中,這一項指Windows的版本(如WinNT、Win95,等等)。如果平臺是Macintosh.這一項指CPU(針對PowerPC的68K、PPC,或


Maclntel)。如果平臺是Xll,這一項是Unix操作系統的名稱,與使用Unix命令uname- sm得到的名稱相同語言是瀏覽器設計時所針對的目標用戶語言預先發行版本 否 最初用于表示Mozilla的預先發行版本,現在則用來表示Gecko呈現引擎的版本號Gecko版本號 是 Gecko呈現引擎的版本號,但由yyyymmdd格式的日期表示應用程序或產品 否 使用Gecko的產品名。可能是Netscape、Firefox,等等


應用程序或產品版本號 否 應用程序或產品的版本號;用于區分Mozilla版本號和Gecko版本號為了幫助讀者更好地理解Gecko的用戶代理字符串,下面我們來看幾個從基于Gecko的瀏覽器中取得的字符串。


Windows XP下的Netscape 6.21:


Mozilla/5.O(Windows;U;Windows NT 5 .1; en-US; rv:0.9.4)Gecko/20011128 Netscape6/6.2.1


Linux下的SeaMonkey l.la:


Mozilla/5.0(X11;U;Linux i686; en-US; rv:1.8.1b2) Gecko/20060823 SeaMonkey/l. la


Windows XP下的Firefox 2.0.0.11:


Mozilla/5.0(Windows;U;Windows NT 5.1;en-US; nr:1.8.1.ll) Gecko/20071127 Firef ox/2.0.0.11


Mac OSX下的Camin0 1.5.1:


Mozilla/5.0(Macintosh;U;Intel Mac Os X;en; nr:1.8.1.6)Gecko/2 0070809 Camino/l.5.1


以上這些用戶代理字符串都取自基于Gecko的瀏覽器(只是版本有所不同)。南昌網絡公司技術員認為很多時候,檢測特定的瀏覽器還不如搞清楚它是否基于Gecko更重要。每個字符串中的Mozilla版本都是5.O,自從**個基于Gecko的瀏覽器發布時修改成這個樣子,至今就沒有改變過;而且,看起來以后似乎也不會有什么變化。


企業新聞
關于南昌莫非網絡科技公司2022年元旦放假安排通知.元旦:1月1日(星期六)至1月3號(星期一)放假,共計三天(無調休),1月4日(星期二)上班。
關于南昌莫非網絡科技公司2021年國慶節放假安排通知。根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年國慶放假的有關事項安排如下。
南昌莫非網絡科技公司2021年中秋節放假通知.一、假期從:2021年09月19日到2021年09月21日結束,假期共3天(9月18日正常上班,9月26日正常休息)。二、如有緊急情況,請各位同仁及時配合相關部門主管人員把事情處理妥善。做好防火、防盜工作并督促各部門關好辦公區域的門、窗等。
根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年端午節放假的有關事項安排如下:一、放假時間:2021年6月12日(星期六)至2021年6月14日(星期一),共放假3天。
南昌莫非網絡科技公司2021年五一勞動節放假通知.現就2021年五一勞動節放假的有關事項安排如下:一、放假時間,2021年5月1日(星期六)至2020年5月5日(星期三),共放假5天。4月25日(星期日)上班,5月6日(星期四)正常上班。
南昌莫非網絡科技公司2021年清明節放假通知.2021年4月3日(星期六)-2021年4月5日(星期一)放假,共3天。4月6日(星期二)正常上班。放假期間,各項業務照常運行,售后問題您可以直接相關負責人提交服務單,技術人員將在12小時之內處理。
關于南昌莫非網絡科技公司2021年春節放假安排通知.一、春節放假時間:2021年2月5日(農歷臘月二十四)至2021年2月18日(農歷正月初七)放假,共13天,2月19日(星期五)開始上班,2月21日星期日(農歷正月初十)恢復正常上班。由于疫情,假期時間可能會有所變化,具體以通知為準。
關于南昌莫非網絡科技公司2021年01月01日元旦放假通知。一、放假時間:2021年1月1日(星期五)至2021年1月3日(星期日)放假,共3天;2021年1月4日(星期一)正常上班。公司放假期間如有相關業務及服務事宜敬請撥打我司24小時服務熱線:0791-8819-6636或咨詢客服QQ:2401077293,可隨時與我司進行聯系。
南昌莫非網絡科技公司2020年中秋節+國慶節放假通知。根據《國務院辦公廳關于2020年部分節假日安排的通知》,為了讓大家度過一個充實、平安的假期,現把2020年中秋國慶放假時間及溫馨提示通知如下!
南昌莫非網絡科技公司2020年五一放假通知.在過去的歲月里,南昌莫非網絡科技公司與新老客戶一直保持著愉快的合作,這離不開大家的鼎立支持和幫助。在未來的日子里還需要更多朋友們的支持與幫助,希望你們能始終如一的支持南昌莫非網絡科技,并提出您寶貴的意見及建議。
南昌莫非網絡科技公司2020年春節寒假放假安排通知。南昌莫非網絡科技公司提前祝全國合作伙伴新春快樂、闔家幸福!預祝全體員工春節快樂!
南昌莫非網絡科技公司2020年元旦節放假安排通知.元旦將至,南昌莫非網絡科技公司預祝全體員工元旦快樂!現將2020年元旦節放假安排通告如下:一、放假時間:2020年1月1日,共1天。
網站建設行業方案
網站維護知識
網站制作常見問題
SEO網站優化教程
踏上云端,轉型升級融入互聯網時代,現在就聯系我們吧!
——      我們時刻為你提供更多優質互聯網技術服務      ——
姓名:
*
聯系方式:
*
咨詢項目:
內容:
*
在線留言
關于我們:南昌莫非文化傳媒有限公司(簡稱:莫非傳媒)專注于網站建設,網站SEO優化,小程序制作。提供全方位用戶體驗規劃,品牌形象設計服務。為每一位企業客戶的成長、騰飛助力!        網站建設、網站設計、網站制作、網站開發,就選網站建設公司-南昌莫非傳媒!
掃一掃微信便捷交流
|
|
|
|
|
|
|
|
|
|
|
|
|
地址:江西省南昌市西湖區洪城路6號國貿廣場A座巨豪峰
業務咨詢  :  
272482065
售后服務 :
2401077293
服務熱線:
0791-88196636
______________________________________________________________________________________________________________________________________________________________________________________________________