AdsPower
AdsPower

深入解析用戶代理:用戶代理程式元件及查找方法

By AdsPower||278 Views

快速閱讀

揭開用戶代理及其組件的神秘面紗!了解 UA 字串如何影響您的線上體驗,並利用 AdsPower 掌握其操控技巧,從而實現對隱私的終極控制。

如果您是網路爬蟲專家,或只是關心自己在線上隱私的人,您一定多次遇到「使用者代理」(User Agent)這個詞。您也一定聽說過,用戶代理字串是用於建立您的數位畫像的要素之一,您必須透過各種手段隱藏或偽造它。

但沒人會告訴你什麼是用戶代理以及如何找到它。別擔心,我們這就為你全面講解用戶代理。

那麼讓我們深入了解什麼是用戶代理,它由什麼組成,以及如何找到瀏覽器的 UA 字串。


了解什麼是用戶代理

深入解析用戶代理:用戶代理程式元件及查找方法

當瀏覽器向網站伺服器傳送請求時,會在請求中附加一個HTTP使用者代理程式標頭。該標頭包含瀏覽器、設備和作業系統等訊息,以及其他技術細節。

標頭中的這個資訊稱為使用者代理字串,Web 伺服器使用它來驗證瀏覽器的請求,並顯示適合使用者裝置的網站版本。

那麼,用戶代理本質上是做什麼的呢?它只是向伺服器識別瀏覽器及其平台,從而為最終用戶提供更好的體驗。

遠端Web伺服器提供一系列適用於不同環境的網站版本。它會檢查接收到的用戶代理標頭,並確定其來源環境。它是桌面用戶代理、iOS用戶代理還是Android用戶代理?

例如,如果網站偵測到 Android 使用者代理,則會傳回與使用者裝置相容的 Android 版本網頁。

簡單來說,用戶代理就是一個字串,它代表用戶存取網站或網路服務。該字串包含有關軟體和裝置的信息,網站會使用它來改善用戶在其網站上的體驗。

然而,使用者代理程式也是瀏覽器指紋辨識所使用的眾多屬性之一。為了應對這種情況, Chrome 推出了自己的 UA-CH,其中 UA 代表用戶代理,CH 是客戶端提示的縮寫。

random user agent in adspower


您也可以使用AdsPower反偵測瀏覽器來避免瀏覽器指紋識別,該瀏覽器可讓您建立隨機使用者代理程式並自訂時區、WebRTC、位置和語言等瀏覽器指紋辨識中使用的其他參數。

同時,讓我們回到正題,進一步解碼用戶代理字串。

用戶代理的組成部分

你有沒有註意到,從蘋果設備造訪網頁時,網頁的設計會與其他裝置略有不同?這是因為網站從蘋果設備接收到的用戶代理標頭與其他設備不同。

但是,網頁伺服器是根據哪些內容來決定顯示哪個網站版本呢?

我們透過一個隨機用戶代理來看一下。

Mozilla/ 5.0 (Windows NT 10.0 ; Win64; x64) AppleWebKit/ 537.36 (KHTML,如 Gecko) Chrome/ 122.0.0.0 Safari/ 537.36

這些術語和數字都是什麼意思?讓我們逐一了解。

Image showing user agent components

1. 傳統代幣

最常見的用戶代理名稱都以“Mozilla/5.0”開頭。這是90年代末期瀏覽器大戰的遺留產物,最初由當時的主流瀏覽器網景(Netscape)所使用。由於網站通常會針對主流瀏覽器建立最佳化版本,因此來自不太主流瀏覽器的請求很可能被判定為可疑而被拒絕。

為了解決這個問題,一些不太流行的瀏覽器創建了自訂的用戶代理字串,例如從 Mozilla/5.0 開始,使其看起來像主流瀏覽器的常用用戶代理程式。這樣一來,它們就確保了與為主流瀏覽器設計的網站的兼容性。

然而,目前在用戶代理程式標頭中使用該令牌僅僅是出於形式上的原因,與實際使用的瀏覽器幾乎沒有關係。

2. 作業系統

用戶代理標頭的這一部分揭示了作業系統的詳細資訊。在我們的用戶代理程式範例中,「Windows NT 10.0」表示作業系統為 Windows 10,「Win64; x64」表示它是 64 位元版本的 Windows 10,運行在 x64 裝置架構上。

這部分內容在不同的裝置上有所不同,並且可能包含數量不等的以「;」分隔的項。例如,在 Linux 版 Chrome 使用者代理程式中,這部分內容類似於“(X11; Linux x86_64)”,表示 Linux 版本為 X11,架構為 64 位元 x86。

同樣,行動裝置之間也存在差異。

以下是一些行動用戶代理範例;

Android 使用者代理

  • 三星 Galaxy S22 5G,運行基於 Linux 平台的 Android 13 系統:

Mozilla/5.0 (Linux;Android 13;SM-S901B) AppleWebKit/537.36(KHTML,如 Gecko)Chrome/112.0.0.0 Mobile Safari/537.36

  • 運行Android 13和Linux平台的Google Pixel 7:

Mozilla/5.0 (Linux;Android 13;Pixel 7) AppleWebKit/537.36(KHTML,如 Gecko)Chrome/112.0.0.0 Mobile Safari/537.36

iOS 使用者代理

  • 運行iOS 13.0且相容macOS的iPhone 12:

Mozilla/5.0 (iPhone12,1;U;CPU iPhone OS 13_0,如 Mac OS X) AppleWebKit/602.1.50(KHTML,如 Gecko)版本/10.0 Mobile/15E148 Safari/602.1

3. 瀏覽器渲染引擎

這部分展示了瀏覽器使用的渲染引擎。渲染引擎負責將 HTML 和 CSS 轉換為可視且可互動的網頁。

WebKit 源自 KHTML 引擎,是蘋果 Safari 的渲染引擎。雖然 Chrome 和其他基於 Chromium 的瀏覽器(如 Opera、Microsoft Edge、Vivaldi 和 Brave)之前也採用了 WebKit,但這些瀏覽器後來都過渡到了使用Google的「Blink」引擎,該引擎由 Chromium 專案於 2013 年推出

在常見的用戶代理字串中仍然可以看到 AppleWebKit/537.36,因為它是基於 AppleWebKit 的。

4. 相容的渲染引擎

這是另一個相容性標記,表示該瀏覽器與 KHTML 和 Gecko 渲染引擎相容。這主要是出於歷史原因,僅用於相容性目的。考慮到 Apple WebKit 是 KHTML 引擎的一個分支,這也說得通。

由於 Firefox 有自己的渲染引擎 Gecko,因此其行動和桌面用戶代理字串不包含 KHTML,而 Gecko 除外,因為 Apple 裝置使用 AppleWebKit。

以下是一些 Firefox 用戶代理範例;

  • Windows 使用者代理

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0

  • Android 使用者代理

Mozilla/5.0 (Android 14; Mobile; rv:123.0) Gecko/123.0 Firefox/123.0

  • iOS 使用者代理

Mozilla/5.0(iPad;CPU OS 14_3_1,如 Mac OS X) AppleWebKit/605.1.15 (KHTML,如 Gecko) FxiOS/123.0 Mobile/15E148 Safari/605.1.15

注意: Firefox 用戶代理通常包含四個元件。

5. 實際瀏覽器和瀏覽器版本

這部分資訊顯示了用戶代理實際來自的瀏覽器。在本例中,瀏覽器是 Google Chrome 122 版本。網站會利用這部分資訊來顯示針對該瀏覽器所客製化的網頁內容。

6. 相容的瀏覽器

額外的 Safari/537.36 表示該瀏覽器實際基於 Safari 的 WebKit 核心。 537.36 則表示 Safari 的內部版本號碼。

但是,如果 Safari 使用者代理直接來自 Safari 瀏覽器,則字串如下所示。

  • iPhone 用戶代理

Mozilla/5.0(iPhone;CPU iPhone OS 17_3_1,如 Mac OS X)AppleWebKit/605.1.15(KHTML,如 Gecko)版本/17.3.1 Mobile/15E148 Safari/604.1

  • iPad 使用者代理

Mozilla/5.0(iPad;CPU OS 17_3_1,如 Mac OS X)AppleWebKit/605.1.15(KHTML,如 Gecko)版本/17.3.1 Mobile/15E148 Safari/604.1

Version/17.3.1 顯示 Safari 的版本,而 604.1 是 Safari 的內部版本號碼。 Mobile/15E148 位元表示這是一台行動裝置。

對於好奇心強的人來說, 這篇部落格很好地解釋了用戶代理元件這些年來是如何演變的。

此外,要了解使用者代理字串中每一位的含義,請將其傳遞useragentstring.com 。但在此之前,我們首先需要找到您的用戶代理字串。

https://share.adspower.net/blogcta

我的用戶代理是什麼:用戶代理查找

既然您已經了解了用戶代理是什麼,您可能想知道瀏覽器的 UA 字串。有很多在線工具可以查找用戶代理。在 Google 上,只需搜尋“我的用戶代理是什麼”,您的 UA 字串就會出現在搜尋結果的首位。

或者,您可以使用瀏覽器的控制台來尋找您的 UA 字串。

  1. F12鍵開啟瀏覽器開發者工具
  2. 開啟控制台選項卡
  3. 輸入 navigator.userAgent 並按下回車鍵

圖片顯示了瀏覽器控制台中的 UA 字串。

不同瀏覽器的用戶代理列表

在明確了使用者代理程式(User Agent)的概念之後,需要了解的是,使用者代理不只一種類型。每個瀏覽器的使用者代理程式都與其他瀏覽器的使用者代理有所不同,這種差異體現在細節或元件數量上。

以下是不同瀏覽器通常發送給網站的用戶代理清單。

Firefox 用戶代理字串

  • Mozilla/5.0 (平台; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion

Chrome 使用者代理字串

  • Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/51.0.2704.103 Safari/537.36

Edge 使用者代理字串

  • Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59

Safari 使用者代理字串

  • Mozilla/5.0(iPhone;CPU iPhone OS 13_5_1,如 Mac OS X)AppleWebKit/605.1.15(KHTML,如 Gecko)版本/13.1.1 Mobile/15E148 Safari/604.1

結論

用戶代理字串雖然可以由客戶端修改,但對於網站管理員來說,它並不能可靠地保護伺服器免受機器人流量的攻擊。此外,用戶代理字串還會帶來隱私問題,因為它可以被用於瀏覽器指紋識別,從而根據用戶的瀏覽器資訊追蹤用戶。隨著線上隱私意識的增強,我們需要要么放棄使用用戶代理字串,要么降低其可識別性。瀏覽器廠商正在開發一種新的客戶端辨識系統,該系統不包含任何「可辨識指紋」的特徵。

AdsPower ,我們深知用戶對線上隱私日益增長的擔憂以及瀏覽器指紋辨識技術的廣泛應用。因此,我們持續開發和改進我們的虛擬瀏覽器設定檔技術。 AdsPower 中的 SunBrowser(基於 Chromium 核心)及其使用者代理程式版本已更新至 Chrome 130。

Image showing updated user-agent version in AdsPower

這些個人資料充當數位身份,使用戶能夠更好地控制自己的線上形象。 AdsPower 提供多種瀏覽器指紋欺騙選項,使用戶能夠自訂更多樣化、更逼真的指紋,從而增加網站追蹤使用者網路活動的難度。

深入解析用戶代理:用戶代理程式元件及查找方法

本文旨在解答什麼是使用者代理程式及其組成部分。我們希望您在閱讀後,能夠更深入地了解用戶代理、其組成部分以及在您請求網站時後端如何使用它。

常問問題

1. 使用者代理程式和瀏覽器代理程式有什麼區別?

使用者代理程式是一個更廣泛的術語,指的是任何代表使用者與網頁伺服器互動的軟體。這包括瀏覽器、機器人、行動應用程式和其他客戶端軟體。

另一方面,瀏覽器代理程式是一種特殊類型的使用者代理程式。它特別指像 Chrome、Firefox 或 Safari 這樣的網頁瀏覽器,這些瀏覽器會向網頁伺服器發送使用者代理字串,以表明它們的身分、版本和作業系統。

從本質上講,所有瀏覽器代理都是用戶代理,但並非所有用戶代理都是瀏覽器代理。

2. 用戶代理和客戶端有什麼差別?

使用者代理程式是指代表使用者與網路伺服器互動的軟體(例如瀏覽器或應用程式),而用戶端則更廣泛地指發起連線的裝置或軟體。用戶代理是客戶端系統的一個組成部分。

3. API 中的 User Agent 是什麼?

在 API 中,使用者代理程式(User Agent)是 HTTP 標頭中傳送的字串,用於識別發出請求的應用程式。它通常包含有關應用程式、其版本以及其運行的作業系統等資訊。

4. 用戶代理伺服器有哪些功能?

使用者代理伺服器處理來自使用者代理程式的請求,負責處理諸如解析請求頭、提供相容內容和管理資料請求等任務。它在優化客戶端和伺服器之間的通訊方面發揮關鍵作用。

AdsPower

與AdsPower一起,開啟多帳號管理新篇章

深入解析用戶代理:用戶代理程式元件及查找方法

人們也讀過

AdsPower