跳至主要內容

我的 User Agent 是什麼?

User Agent 是瀏覽器在每個 HTTP 請求的 User-Agent 標頭中傳送的文字,指令碼可透過 navigator.userAgent 讀取。解析工具會在頁面載入時自動填入您瀏覽器的字串;本指南則使用一條固定的 macOS 版 Chrome 字串,讓每位讀者看到的分解結果都相同。

實例解析

macOS 版 Chrome
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
瀏覽器
Chrome 120.0.0.0
渲染引擎
Blink
作業系統
macOS 10.15.7
裝置類型
桌面
裝置
未知
CPU 架構
未知
機器人 / 爬蟲
否

標記分解

標記解釋
Mozilla/5.0歷史遺留的相容性標記。幾乎所有瀏覽器都以它開頭;它並不代表瀏覽器是 Firefox。
(Macintosh; Intel Mac OS X 10_15_7)平台註解。Chrome 與 Safari 將 macOS 版本凍結為 10_15_7,因此較新的 macOS 版本與搭載 Apple silicon 的 Mac 都會傳送相同的值。
AppleWebKit/537.36引擎標記。Chrome 的 Blink 引擎最初是 WebKit 的分支,至今仍回報這個固定值。
(KHTML, like Gecko)相容性註解:WebKit 源自 KHTML,而「like Gecko」是為了那些只向 Gecko 瀏覽器提供現代網頁的網站而加入的。
Chrome/120.0.0.0真正的瀏覽器及其版本。只有主要版本(120)有意義;Chrome 的次要版本、組建與修補版本一律傳送 0.0.0。
Safari/537.36另一個相容性標記,讓尋找 Safari 的網站把 Chrome 視為 WebKit 系瀏覽器。它並不代表瀏覽器是 Safari。

解析器辨識出 macOS 10.15.7 上採用 Blink 引擎的 Chrome 120。macOS 版本與結尾的 0.0.0 都是凍結值,因此實際系統可能比字串所示更新。CPU 架構維持未知:解析器不會把 Intel 當作 CPU 提示,而且搭載 Apple silicon 的 Mac 也會傳送相同的文字。

關鍵規則

  • User Agent 字串是一串以空格分隔的「產品/版本」標記,平台細節則放在括號中。
  • 大多數標記是為了相容性而存在:瀏覽器互相複製標記,好讓舊的偵測程式碼繼續運作,因此解析器必須看出現了哪些標記以及它們的順序,而不是只看單一字詞。
  • 解析工具會在頁面載入時從您的瀏覽器填入您的 User Agent。解析本身在您的瀏覽器中執行,而不是在伺服器上。
  • 瀏覽器擴充功能、隱私設定、開發人員工具的裝置模擬以及應用程式內建瀏覽器都可能改變 User Agent,因此它未必反映實際裝置。
  • 若要比較不同瀏覽器,可貼上來自其他裝置的字串,或在工具中選擇一個範例預設。

更多 User Agent 指南