用戶代理de疑惑

在計算機科學中,用戶代理英語:User Agent)指的是表明使用者行爲的軟件(軟件代理程序)所提供的對本身的一個標識符。例如,一個電子郵件閱讀器就是一個電子郵件客戶端,而在會話發起協議 (SIP) 中,用戶代理的術語指代的是一個通訊會話的全部兩個終端[1]瀏覽器

在不少場合,用戶代理做爲一個主從式架構的分佈式計算系統中的通訊所用網絡傳輸協議的客戶端而行爲。特別的,超文本傳輸協議指定了發起請求的客戶端軟件,使用一個「User-Agent」請求頭,即便在客戶端不禁用戶操縱的時候。SIP 協議(基於 HTTP)沿用了這一用法。 服務器

格式

用戶代理字符串的格式目前被RFC 2616 (HTTP/1.1)的 Section 14.43 所指定。在 HTTP 中,用戶代理字符串的格式是產品標記(關鍵字)和可選的註釋所組成的一個列表。例如若是你的產品叫作 WikiBrowser, 你的用戶代理字符串就多是 WikiBrowser/1.0 Gecko/1.0。「最重要的」產品組件被最早列出。這個字符串的部分以下所示: 網絡

  • 產品名稱和版本(WikiBrowser/1.0
  • 排版引擎和版本(Gecko/1.0)。在這種狀況下,這指示了排版引擎和版本。

但不幸的是,在瀏覽器大戰期間,不少網絡服務器被配置爲只給被識別爲某些版本的 Mozilla 的客戶端發送須要高級功能的網頁。 架構

因爲這個緣由,絕大多數網頁瀏覽器使用的 User-Agent 值以下:Mozilla/[version] ([system and browser information]) [platform] ([platform details]) [extensions]}}。例如,iPad 上的 Safari 使用的就是下述: 分佈式

Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405

這個字符串的組成以下: 網絡傳輸協議

  • Mozilla/5.0:先前用以指示與 Mozilla 排版引擎的兼容性
  • (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us):瀏覽器所運行於的系統的詳細信息
  • AppleWebKit/531.21.10:瀏覽器所使用的平臺
  • (KHTML, like Gecko):瀏覽器平臺的細節
  • Mobile/7B405:被瀏覽器用於指示特定的直接由瀏覽器提供或者經過第三方提供的可用的加強功能。這方面的一個實例是 Microsoft Live Meeting,它註冊了一個擴展以使 Live Meeting 服務知道該軟件是否已經安裝上,這意味着它能夠爲加入會議提供一個簡化的體驗。
相關文章
相關標籤/搜索