web-dev-qa-db-ja.com

ブラウザのユーザーエージェント文字列の標準形式は何ですか?

ユーザーエージェント文字列を作成するためのRFC、公式標準、またはテンプレートはありますか? iPhoneのユーザーエージェント文字列が奇妙に思えます...

Mozilla/5.0(iPhone; U; Mac OS XのようなCPU iPhone OS 3_1_2; en-us)AppleWebKit/528.18(GHTMLのようなKHTML)Version/4.0 Mobile/7D11 Safari/528.16

54
John Himmelman

User-Agentヘッダーは RFC7231 、これは RFC1945 、それは次のとおりです。

User-Agent request-headerフィールドには、リクエストを発信したユーザーエージェントに関する情報が含まれています。これは、統計目的、プロトコル違反の追跡、および特定のユーザーエージェントの制限を回避するための応答を調整するためのユーザーエージェントの自動認識のためです。ユーザーエージェントは、リクエストにこのフィールドを含める必要があります。このフィールドには、複数の製品トークン(セクション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 ")">
68
Paulo Santos

これは、リクエストヘッダーに関するセクションの RFC 1945 で指定されています。ただし、これはあまり標準化された形式ではなく、ユーザーエージェントは必要なものをすべて入れる傾向があります。

10
tloflin

はい、参照してください: mozilla website 、しかし、それは前に述べたように。基本的には、そこに好きなものを置くことができます。統計/分析の目的で最も重要なことは、すべてのブラウザー/ OSがこれを標準化することです。

3
wlk