您的瀏覽器將其使用者代理髮送到您連線到的每個網站。我們以前寫過關於更改瀏覽器的使用者代理的文章,但是到底什麼是使用者代理呢?
使用者代理是一個“字串”,即一行文字,用於向web伺服器標識瀏覽器和作業系統。這聽起來很簡單,但隨著時間的推移,使用者代理已經變得一團糟。
當您的瀏覽器連線到一個網站時,它的HTTP頭中包含一個使用者代理欄位。“使用者代理”欄位的內容因瀏覽器而異。每個瀏覽器都有自己獨特的使用者代理。本質上,使用者代理是瀏覽器向web伺服器說“嗨,我是Windows上的Mozilla Firefox”或“嗨,我是iPhone上的Safari”的一種方式。
web伺服器可以使用這些資訊為不同的web瀏覽器和不同的作業系統提供不同的web頁面。例如,網站可以將移動頁面傳送到移動瀏覽器,將現代頁面傳送到現代瀏覽器,並將“請升級瀏覽器”訊息傳送到Internet Explorer 6。
例如,以下是Firefox在Windows 7上的使用者代理:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
這個使用者代理告訴web伺服器很多資訊:作業系統是windows7(代號windowsnt6.1),是64位版本的Windows(WOW64),瀏覽器本身是firefox12。
現在讓我們看看Internet Explorer 9的使用者代理,它是:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
使用者代理字串使用Trident 5渲染引擎將瀏覽器標識為IE 9。然而,你可能會發現一些令人困惑的東西——IE自稱是Mozilla。
我們一會兒再談。首先,我們也來看看谷歌Chrome的使用者代理:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5
情節越來越複雜:Chrome假裝既是Mozilla又是Safari。要了解原因,我們必須檢查使用者代理和瀏覽器的歷史。
馬賽克是最早的瀏覽器之一。它的使用者代理字串是NCSA\u/2.0。後來,Mozilla出現了(後來改名為Netscape),它的使用者代理是Mozilla/1.0。Mozilla是一款比Mosaic更先進的瀏覽器,特別是它支援框架。Web伺服器檢查使用者代理是否包含Mozilla一詞,並將包含框架的頁面傳送到Mozilla瀏覽器。對於其他瀏覽器,web伺服器傳送的是沒有框架的舊頁面。
最終,微軟的InternetExplorer出現了,它也支援框架。然而,IE並沒有收到帶有框架的網頁,因為web伺服器只是將這些框架傳送到Mozilla瀏覽器。為了解決這個問題,微軟在他們的使用者代理中添加了Mozilla這個詞,並添加了額外的資訊(compatible這個詞和IE的引用)。Web伺服器很高興看到Mozilla這個詞,並將IE傳送到了現代的網頁上。後來出現的其他瀏覽器也做了同樣的事情。
最終,一些伺服器尋找Gecko這個詞——火狐的渲染引擎——併為Gecko瀏覽器提供與舊瀏覽器不同的頁面。KHTML最初是在Linux的KDE桌面上為Konquerer開發的,它添加了“like Gecko”這個詞,這樣就可以得到為Gecko設計的現代頁面。WebKit是基於KHTML的——在開發時,他們添加了WebKit這個詞,並保留了最初的“KHTML,like Gecko”行,以實現相容性。透過這種方式,瀏覽器開發人員不斷地向他們的使用者代理新增單詞。
Web伺服器並不真正關心確切的使用者代理字串是什麼—他們只是檢查它是否包含特定的單詞。
Web伺服器將使用者代理用於各種目的,包括:
網路爬蟲機器人也使用使用者代理。例如,谷歌的網路爬蟲將自己識別為:
Googlebot/2.1 (+http://www.google.com/bot.html)
網路伺服器可以對機器人進行特殊處理——例如,允許它們透過強制註冊螢幕。(是的,這意味著您有時可以透過將使用者代理設定為Googlebot來繞過註冊螢幕。)
Web伺服器還可以使用機器人.txt檔案。例如,一個web伺服器可以告訴一個特定的機器人離開,或者告訴另一個機器人只索引網站的某些區域。在機器人.txt檔案中,bot由其使用者代理字串標識。
所有主要瀏覽器都包含設定自定義使用者代理的方法,因此您可以看到web伺服器傳送到不同瀏覽器的內容。例如,將桌面瀏覽器設定為移動瀏覽器的使用者代理字串,您將在桌面上看到網頁的移動版本。
...被用來描述這個過程。讓我們看看這兩個術語之間是否有什麼區別。 無論你是在尋找一個詞的意思或是任何主題的資訊,你都需要一個瀏覽器的幫助,比如微軟的IE瀏覽器,Firefox,Safari,Chrome等等。你還需要像雅虎,谷歌,必...
...然是兩極分化的。從微軟Edge、谷歌Chrome、Opera到Firefox,使用者可以從眾多瀏覽器中獲益。隨著第57個版本FirefoxQuantum的釋出,它迎來了一次重大的變革。 ...
...個糟糕的瀏覽器,也不是說它有一個有限的功能集。有些使用者——也許包括你自己——只是想要一些不同的東西。 ...
... 但有一個漂亮的瀏覽器技巧,許多使用者往往忽視,這是一個恥辱,因為它可以改變遊戲規則。下面是你需要知道的,以及為什麼你應該開始使用瀏覽器手勢。 ...
...理成本很高。如果你使用的是免費服務,很可能會被其他使用者超負荷使用。優質提供商將大量收入再投資於伺服器和頻寬。 ...
... 通用性:無論使用者的瀏覽器是什麼,PWA都必須能夠無縫地(很好,幾乎)為每個使用者工作。 響應性:PWAs應該與任何裝置一起工作,比如膝上型電腦、平板電腦、智慧...
“你為什麼不穀歌一下呢?你用谷歌文件嗎?你在谷歌地圖上查過嗎?你能在谷歌硬碟上共享這個檔案嗎?” ...
...(例如星巴克),你的活動在任何時候都會被其他幾十個使用者所掩蓋。但請記住,公共Wi-Fi也有自己的風險! ...
...ied。發生此錯誤時,您基本上無法開啟要連線的網站。為什麼會發生這種情況有很多原因。 ...
...web商店中分發,它們就變得非常流行。 擴充套件可以做什麼? 瀏覽器擴充套件所能做的範圍取決於瀏覽器。在早期,擴充套件可以訪問瀏覽器的許多內部工作,但是隨著安全性的加強,擴充套件的能力也隨之增強。 你可能聽...