1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
---
title: User Agent Strings Reference
slug: conflicting/Web/HTTP/Headers/User-Agent/Firefox
tags:
- 要更新
translation_of: Web/HTTP/Headers/User-Agent/Firefox
translation_of_original: User_Agent_Strings_Reference
original_slug: User_Agent_Strings_Reference
---
<h3 id="このドキュメントの状況"><a name="status">このドキュメントの状況</a></h3>
<p>これは、元の user-agent のバージョン文字列提議の改訂版です。<a class="external" href="http://www-archive.mozilla.org/build/user-agent-strings.html">元の、時代遅れの提議</a> と、<a class="link-news" href="news://news.mozilla.org/netscape.public.mozilla.seamonkey">netscape.public.mozilla.seamonkey</a> 及び <a class="link-news" href="news://news.mozilla.org/netscape.public.mozilla.netlib">netscape.public.mozilla.netlib</a>での議論を改訂の参考にしてください。</p>
<p>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:</p>
<ul style="border: medium solid red;">
<li>There is concern that the attempt to separate <code>Platform</code> and <code>OS-or-CPU</code> on Windows and Macintosh is not backwards compatible and the user-agent strings should return to their old-fashioned form.</li>
<li>There is <a class="external" href="http://bugzilla.mozilla.org/show_bug.cgi?id=57555">concern</a> that giving the operating system version on Windows reveals too much information about a system (such as potential security holes).</li>
<li>There is <a class="external" href="http://bugzilla.mozilla.org/show_bug.cgi?id=55366">concern</a> that revealing localization information is a violation of privacy.</li>
</ul>
<h3 id="目標点"><a name="goals">目標点</a></h3>
<p>元の目標は:</p>
<ul>
<li>RFC 1945 や RFC 2068 で述べられている規格に従う。</li>
<li>現存の Web サーバーを破壊しない。</li>
<li>現存のログファイル解析ソフトや、user-agent 分析コードを破壊しない。</li>
<li>user-agent のバージョン文字列を適切な短い長さにとどめる。</li>
<li>一貫した、見てすぐ分かる、そして解析しやすい形式を用いる。</li>
</ul>
<p>議論の中で出てきた他の事項は:</p>
<ul>
<li>日付に基づいたバージョン情報を提供する。</li>
<li>バージョン修飾語の問題点に焦点を絞る。</li>
<li>アプリケーションに、Gecko のように Mozilla の技術が含まれていることを知らせる。しかし、Mozilla ではないので、区別できるようにする。</li>
</ul>
<h3 id="提議"><a name="proposal">提議</a></h3>
<p>Mozillaに基づくブラウザは、user-agentのバージョン文字列を以下の形式にすべきである:</p>
<p style="margin-left: 40px;"><code>MozillaProductToken (MozillaComment) GeckoProductToken *(VendorProductToken|VendorComment)</code></p>
<p>Gecko レイアウトエンジンが埋め込まれたアプリケーションの user-agent のバージョン文字列は以下の形式に従うべきである:</p>
<p style="margin-left: 40px;"><code>ApplicationProductToken (ApplicationComment) GeckoProductToken *(VendorProductToken|VendorComment)</code></p>
<p>上記の定義中の参照は以下の通り:</p>
<table>
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr style="background-color: rgb(255, 255, 204);">
<td>MozillaProductToken</td>
<td><code><strong>Mozilla/</strong></code> <em>MozillaVersion</em></td>
</tr>
<tr style="background-color: rgb(255, 255, 204);">
<td>MozillaVersion</td>
<td><em>Major</em> <code><strong>.</strong></code> <em>minor</em></td>
</tr>
<tr style="background-color: rgb(255, 255, 204);">
<td>Major</td>
<td>メジャーリリース番号を示す整数値。In practice, always 5.</td>
</tr>
<tr style="background-color: rgb(255, 255, 204);">
<td>Minor</td>
<td>もし 0 でないなら、3 桁の 0 で埋められた数字であるべきで、たとえば <strong><code>001</code></strong> である。もし 0 なら、0 とするのが望ましい。</td>
</tr>
<tr>
<td>MozillaComment</td>
<td><code>(</code> <em>Platform</em> <strong><code>;</code></strong> <em>Security</em> <strong><code>;</code></strong> <em>OS-or-CPU</em> <strong><code>;</code></strong> <em>Localization information</em> <em><strong><code>;</code></strong> GeckoVersion <code>)</code></em> <em>*[<strong><code>;</code></strong> Optional Other Comments] <code>)</code></em></td>
</tr>
<tr>
<td>Platform</td>
<td>使用してよい文字列:
<ul>
<li><code><strong>Windows</strong></code>: 全ての Windows 環境</li>
<li><code><strong>Macintosh</strong></code>: 全ての Mac OS 環境</li>
<li><code><strong>X11</strong></code>: 全ての X-Window システム環境</li>
<li>etc.</li>
</ul>
</td>
</tr>
<tr>
<td>Security</td>
<td>使用してよい文字列:
<ul>
<li><code><strong>N</strong></code>: セキュリティー無し</li>
<li><code><strong>U</strong></code>: 強化セキュリティーバージョン</li>
<li><code><strong>I</strong></code>: 弱いセキュリティーバージョン</li>
</ul>
</td>
</tr>
<tr>
<td>OS-or-CPU</td>
<td><strong>Windows</strong> システム用の文字列:
<ul>
<li><code><strong>Win3.11</strong></code>: Windows 3.11</li>
<li><code><strong>WinNT3.51</strong></code>: Windows NT 3.11</li>
<li><code><strong>WinNT4.0</strong></code>: Windows NT 4.0</li>
<li><code><strong>Windows NT 5.0</strong></code>: Windows 2000</li>
<li><code><strong>Win95</strong></code>: Windows 95</li>
<li><code><strong>Win98</strong></code>: Windows 98</li>
<li><code><strong>Win 9x 4.90</strong></code>: Windows Me</li>
<li>etc.</li>
</ul>
<strong>MacOS</strong> システム用の文字列:
<ul>
<li><code><strong>68K</strong></code>: 68k ハードウエア</li>
<li><code><strong>PPC</strong></code>: PowerPC ハードウエア</li>
<li>etc.</li>
</ul>
<strong>Unix</strong> システム用の文字列: コマンド <strong><code>uname -sm</code></strong> の出力を用いる。(also accessible as the <strong>sysname</strong> and <strong>machine</strong> fields of the utsname structure.) (Previous versions of this document said they should be the output of <strong><code>uname -srm</code></strong>, but the <strong>release</strong> field of the utsname structure was considered to <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=57555">reveal too much information</a> about the system, such as potential security holes.)</td>
</tr>
<tr>
<td>Localization Information</td>
<td>文字コードの表現は、RFC 1945 及び RFC 2068 の規格に従う。例としては<br>
<code>en, en-US, es, es-CO, ja, ja-JP</code>などがあげられる。</td>
</tr>
<tr style="background-color: rgb(255, 255, 204);">
<td>GeckoVersion</td>
<td>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).</td>
</tr>
<tr style="background-color: rgb(255, 255, 204);">
<td>GeckoProductToken</td>
<td><code><strong>Gecko/</strong></code><em>GeckoDate</em>
<p>Mozilla を含む、Gecko エンジンに基づく製品には、Gecko 製品文字列をその二次製品であることを明確にするために利用を許可する。</p>
</td>
</tr>
<tr style="background-color: rgb(255, 255, 204);">
<td>GeckoDate</td>
<td>YYYYMMDD 形式の日付。正式な Mozilla ビルドにおいては、これは BuildID の中の日付に一致させる。Mozilla の公開版においては、GeckoDate はソースコードが mozilla.org から取り出された日付と一致させなければならず、必ずしも生成された BuildID の日付部分とは一致しない。複数のブランチが同時に公開される場合、この日付からは Gecko のバージョンを特定できない。</td>
</tr>
<tr>
<td>ApplicationProductToken, Application Comment</td>
<td>Gecko レイアウトエンジンに基づくアプリケーションが使用する部分である。それらの製品文字列とコメントの形式はここで指定するものではないが、HTTP 標準に基づくべきである。</td>
</tr>
<tr style="background-color: rgb(255, 255, 204);">
<td>( VendorProductToken | VendorComment )</td>
<td>Mozilla に基づくアプリケーションの製品文字列を記述する部分である。形式や内容はベンダー規定とするが、HTTP 標準に基づくべきであり、上記の GeckoVersion を含むことが望ましい。</td>
</tr>
<tr>
<td><strong><code>*</code></strong></td>
<td>0 かそれ以上のトークンを入れることを指定する記号</td>
</tr>
<tr>
<td><strong><code>?</code></strong></td>
<td>0 か 1 つのトークンを入れることを指定する記号</td>
</tr>
</tbody>
</table>
<h3 id="例"><a name="examples">例</a></h3>
<table>
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td>mozilla.org のブラウザ</td>
<td><code>Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101</code></td>
</tr>
<tr>
<td>上のブラウザと同じソースに基づいて作られた商標リリース</td>
<td><code>Mozilla/5.001 (Macintosh; N; PPC; ja; rv:1.0) Gecko/25250101 MegaCorpBrowser/1.0 (MegaCorp, Inc.)</code></td>
</tr>
<tr>
<td>再構成リリース</td>
<td><code>Mozilla/9.876 (X11; U; Linux 2.2.12-20 i686, en; rv:2.0) Gecko/25250101 Netscape/5.432b1 (C-MindSpring)</code></td>
</tr>
<tr>
<td>Gecko に基づくブラウザ</td>
<td><code>TinyBrowser/2.0 (TinyBrowser Comment; rv:1.9.1a2pre) Gecko/20201231</code></td>
</tr>
</tbody>
</table>
<h3 id="Implementation_notes_for_applications_vendors_and_extensions"><a name="implementation">Implementation notes for applications, vendors, and extensions</a></h3>
<p>Starting with Mozilla 1.8 beta2, the best way for applications, vendors, and extensions (if needed) to add to default preferences to add <code>VendorProductToken</code>s or <code>VendorComment</code>s is to add a default preference of the form <code>general.useragent.extra.<em>identifier</em></code>. <em>All</em> of the <code>general.useragent.extra.*</code> preferences will have their string values added to the User-Agent string in alphabetical order by identifier. For example:</p>
<ul>
<li><code>pref("general.useragent.extra.megabrowser", "MegaCorpBrowser/1.0 (MegaCorp, Inc.)");</code></li>
<li><code>pref("general.useragent.extra.tinydistro", "TinyDistroLinux/2.3");</code></li>
</ul>
<hr>
<p>これに対するコメントは <a class="link-news" href="news://news.mozilla.org/netscape.public.mozilla.netlib">netscape.public.mozilla.netlib</a> または <a class="link-mailto" href="mailto:dbaron@dbaron.org">dbaron@dbaron.org</a> まで</p>
|