浏览器的用户代理string的标准格式是什么?

是否有用于创build用户代理string的RFC,官方标准或模板? iPhone的用户代理string似乎很奇怪…

Mozilla / 5.0(iPhone; U; 像Mac OS X的CPU iPhone OS 3_1_2 ; en-us)AppleWebKit / 528.18( KHTML,如Gecko )Version / 4.0 Mobile / 7D11 Safari / 528.16

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 ")"> 

这在RFC 1945中的请求头部分中有详细说明。 然而,这不是一个非常标准化的格式,用户代理倾向于把他们想要的东西放在那里。

是的,请参阅: Mozilla网站 ,但正如之前提到的。 基本上你可以把任何你想要的。 出于统计/分析的目的,最重要的是,每个浏览器/操作系统都应该有自己的标准化。