このドキュメントの状況
これは、元の user-agent のバージョン文字列提議の改訂版です。元の、時代遅れの提議 と、netscape.public.mozilla.seamonkey 及び netscape.public.mozilla.netlibでの議論を改訂の参考にしてください。
This document is the official Mozilla user-agent string specification. However, the following issues are under review and may be revised in the near future:
- There is concern that the attempt to separate
Platform
andOS-or-CPU
on Windows and Macintosh is not backwards compatible and the user-agent strings should return to their old-fashioned form. - There is concern that giving the operating system version on Windows reveals too much information about a system (such as potential security holes).
- There is concern that revealing localization information is a violation of privacy.
目標点
元の目標は:
- RFC 1945 や RFC 2068 で述べられている規格に従う。
- 現存の Web サーバーを破壊しない。
- 現存のログファイル解析ソフトや、user-agent 分析コードを破壊しない。
- user-agent のバージョン文字列を適切な短い長さにとどめる。
- 一貫した、見てすぐ分かる、そして解析しやすい形式を用いる。
議論の中で出てきた他の事項は:
- 日付に基づいたバージョン情報を提供する。
- バージョン修飾語の問題点に焦点を絞る。
- アプリケーションに、Gecko のように Mozilla の技術が含まれていることを知らせる。しかし、Mozilla ではないので、区別できるようにする。
提議
Mozillaに基づくブラウザは、user-agentのバージョン文字列を以下の形式にすべきである:
MozillaProductToken (MozillaComment) GeckoProductToken *(VendorProductToken|VendorComment)
Gecko レイアウトエンジンが埋め込まれたアプリケーションの user-agent のバージョン文字列は以下の形式に従うべきである:
ApplicationProductToken (ApplicationComment) GeckoProductToken *(VendorProductToken|VendorComment)
上記の定義中の参照は以下の通り:
MozillaProductToken | Mozilla/ MozillaVersion |
MozillaVersion | Major . minor |
Major | メジャーリリース番号を示す整数値。In practice, always 5. |
Minor | もし 0 でないなら、3 桁の 0 で埋められた数字であるべきで、たとえば 001 である。もし 0 なら、0 とするのが望ましい。 |
MozillaComment | ( Platform ; Security ; OS-or-CPU ; Localization information ; GeckoVersion ) *[; Optional Other Comments] ) |
Platform | 使用してよい文字列:
|
Security | 使用してよい文字列:
|
OS-or-CPU | Windows システム用の文字列:
uname -sm の出力を用いる。(also accessible as the sysname and machine fields of the utsname structure.) (Previous versions of this document said they should be the output of uname -srm , but the release field of the utsname structure was considered to reveal too much information about the system, such as potential security holes.) |
Localization Information | 文字コードの表現は、RFC 1945 及び RFC 2068 の規格に従う。例としてはen, en-US, es, es-CO, ja, ja-JP などがあげられる。 |
GeckoVersion | String starting with "rv:" followed by the Gecko version. This is a set of numbers separated by periods, possibly followed by a pre-release indicator (e.g. "a1" for the first alpha). |
GeckoProductToken | Gecko/ GeckoDate
Mozilla を含む、Gecko エンジンに基づく製品には、Gecko 製品文字列をその二次製品であることを明確にするために利用を許可する。 |
GeckoDate | YYYYMMDD 形式の日付。正式な Mozilla ビルドにおいては、これは BuildID の中の日付に一致させる。Mozilla の公開版においては、GeckoDate はソースコードが mozilla.org から取り出された日付と一致させなければならず、必ずしも生成された BuildID の日付部分とは一致しない。複数のブランチが同時に公開される場合、この日付からは Gecko のバージョンを特定できない。 |
ApplicationProductToken, Application Comment | Gecko レイアウトエンジンに基づくアプリケーションが使用する部分である。それらの製品文字列とコメントの形式はここで指定するものではないが、HTTP 標準に基づくべきである。 |
( VendorProductToken | VendorComment ) | Mozilla に基づくアプリケーションの製品文字列を記述する部分である。形式や内容はベンダー規定とするが、HTTP 標準に基づくべきであり、上記の GeckoVersion を含むことが望ましい。 |
* |
0 かそれ以上のトークンを入れることを指定する記号 |
? |
0 か 1 つのトークンを入れることを指定する記号 |
例
mozilla.org のブラウザ | Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101 |
上のブラウザと同じソースに基づいて作られた商標リリース | Mozilla/5.001 (Macintosh; N; PPC; ja; rv:1.0) Gecko/25250101 MegaCorpBrowser/1.0 (MegaCorp, Inc.) |
再構成リリース | Mozilla/9.876 (X11; U; Linux 2.2.12-20 i686, en; rv:2.0) Gecko/25250101 Netscape/5.432b1 (C-MindSpring) |
Gecko に基づくブラウザ | TinyBrowser/2.0 (TinyBrowser Comment; rv:1.9.1a2pre) Gecko/20201231 |
Implementation notes for applications, vendors, and extensions
Starting with Mozilla 1.8 beta2, the best way for applications, vendors, and extensions (if needed) to add to default preferences to add VendorProductToken
s or VendorComment
s is to add a default preference of the form general.useragent.extra.identifier
. All of the general.useragent.extra.*
preferences will have their string values added to the User-Agent string in alphabetical order by identifier. For example:
pref("general.useragent.extra.megabrowser", "MegaCorpBrowser/1.0 (MegaCorp, Inc.)");
pref("general.useragent.extra.tinydistro", "TinyDistroLinux/2.3");
これに対するコメントは netscape.public.mozilla.netlib または [email protected] まで