2010-04-08 82 views
46

是否有用於創建用戶代理字符串的RFC,官方標準或模板? iPhone的用戶代理字符串似乎很奇怪...瀏覽器的用戶代理字符串的標準格式是什麼?

的Mozilla/5.0(iPhone; U; CPU iPhone OS 3_1_2,例如Mac OS X; EN-US)爲AppleWebKit/528.18(KHTML 像壁虎)版本/ 4.0移動/ 7D11的Safari/528.16

+1

的iPhone認真把'的Mozilla/5.0'在它開始的用戶代理? – Tarka 2010-04-08 15:59:27

+7

@Slokun爲何驚喜? IE用戶代理以「Mozilla/4.0」開頭。請記住,Mozilla是最早製作的瀏覽器之一,而其他所有瀏覽器都包含其不同程度的部分基礎。 – 2010-04-08 16:09:01

+0

@Paulo Santos我想我只是沒有看足夠的用戶代理字符串。 – Tarka 2010-04-08 18:45:53

回答

60

User-Agent頭是RFC2616,這是RFC1945,在那裏它指出的改進版本的一部分:

的用戶代理請求 - 報頭字段包含有關 用戶代理髮起請求信息。這是爲了統計目的, 協議違反的跟蹤以及爲了定製響應以避免特定用戶代理限制而對代理的用戶 進行自動識別。用戶代理應該包含 請求的這個字段。該字段可以包含多個產品標記(3.8節) 以及標識代理的註釋以及組成用戶代理重要部分的任何子產品。按照慣例,產品標記 按其對於識別 應用程序的重要性順序列出。

User-Agent  = "User-Agent" ":" 1*(product | comment) 

product定義爲:

product   = token ["/" product-version] 
    product-version = token 
    token   = 1*<any CHAR except CTLs or separators> 

而且comment爲:

comment  = "(" *(ctext | quoted-pair | comment) ")" 
    ctext   = <any TEXT excluding "(" and ")"> 
+0

謝謝,這正是我正在尋找的。似乎沒有評論欄的標準格式。 – 2010-04-08 17:36:53

+0

什麼是「雙引號」? – QED 2013-09-15 00:40:55

+0

quoted-pair =「\」CHAR – 2013-10-30 23:14:21

9

這在RFC 1945在請求頭部分指定。然而,這不是一個非常標準化的格式,而且用戶代理傾向於在其中放置任何他們想要的內容。

+0

Thx!您的答案與Paulo的答案相結合,可以做出完整的答案 – 2010-04-08 17:38:44

+0

不客氣!看起來Paulo的實際上是更完整和最新的,所以隨時將他標爲已被接受。 – tloflin 2010-04-08 17:49:35

1

是的,請參閱:mozilla website,但正如之前所述。基本上你可以放任何你想要的東西。出於統計/分析的目的,最重要的是,每個瀏覽器/操作系統都應該有自己的標準化。

相關問題