在計算機科學中,用戶代理(英語:User Agent)指的是表明使用者行爲的軟件(軟件代理程序)所提供的對本身的一個標識符。例如,一個電子郵件閱讀器就是一個電子郵件客戶端,而在會話發起協議 (SIP) 中,用戶代理的術語指代的是一個通訊會話的全部兩個終端[1]。 瀏覽器
在不少場合,用戶代理做爲一個主從式架構的分佈式計算系統中的通訊所用網絡傳輸協議的客戶端而行爲。特別的,超文本傳輸協議指定了發起請求的客戶端軟件,使用一個「User-Agent」請求頭,即便在客戶端不禁用戶操縱的時候。SIP 協議(基於 HTTP)沿用了這一用法。 服務器
用戶代理字符串的格式目前被RFC 2616 (HTTP/1.1)的 Section 14.43 所指定。在 HTTP 中,用戶代理字符串的格式是產品標記(關鍵字)和可選的註釋所組成的一個列表。例如若是你的產品叫作 WikiBrowser, 你的用戶代理字符串就多是 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
這個字符串的組成以下: 網絡傳輸協議