<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットニュース</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RTSP</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor> その他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>で使われている
<dfn><code class="HTTP">User-Agent:</code> 欄</dfn>は、
使用されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>を表します。</p><note xmlns="urn:x-suika-fam-cx:markup:ietf:html:3:draft:00:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <strong>誘導</strong>:
<q>利用者エージェント</q>一般については
<q><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor></q>および <q><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User Agent</anchor></q>
をご覧下さい。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor> での利用に関しては <q><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP_USER_AGENT</anchor></code></q>
の項をご覧下さい。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> その他に関してはここをご覧下さい。
その他関連プロトコル要素に関しては <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;62</anchor-internal> をご覧下さい。</p></note><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <strong><cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-06-07 01:55:45 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7231#section-5.5.3">https://tools.ietf.org/html/rfc7231#section-5.5.3</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-08-07 05:54:02 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7231#section-9.6">https://tools.ietf.org/html/rfc7231#section-9.6</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite>UPnP Device Architecture 2.0</cite> (<time>2014-09-05 02:24:48 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf#page=38">http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf#page=38</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite>UPnP Device Architecture 2.0</cite> (<time>2014-09-05 02:24:48 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf#page=47">http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf#page=47</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を元々作成した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>についての情報を含めるものです。
これはしばしば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>の問題を究明する補助となったり、
特定の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>の制限を回避したり、
利用されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブラウザー</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor>の分析に使ったりするものです。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェントの識別</anchor>も参照。</comment-p></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> 1つ以上の <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code> または <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">comment</anchor></code>
を、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RWS</anchor> 区切りで並べたものとされています。ただし、最初の1つは
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code> でなければなりません。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src></p><figure class="railroad"><ol><li><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code></li><li>*<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RWS</anchor></li><li>|<ol><li><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code></li><li><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">comment</anchor></code></li></ol></li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> ここで <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>のソフトウェアと主要な部分製品を識別上の重要なものから順番に並べたもの
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src> とされています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> 現実にはこの構文は、ヒント程度にしか尊重されていません。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>
仕様上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>では認められていない文字列が使われることもありますし、
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code> に複数 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> が含まれることもあります。
順序も必ずしも重要な順ではありません。実際のソフトウェアの識別に関与しない歴史的な値を設定することも多々あります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信者</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成</anchor>する値を製品の識別に必要な程度に制限する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">広告</anchor>その他製品の識別に必要無い情報を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成</anchor>しては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。
第三者による部分製品からの追加も制限する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> 版番号の部分に版情報でないものを含める<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor>
(つまり、同じ製品の後の版は版番号部分だけが違うべきです)。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> 他の実装との互換性を示すためにその製品名を含めることは<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">推奨<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">encourage</rt></rubyb>しません
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSDP</anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;32</anchor-internal></src> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UPnP</anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></src> における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> ではより細かく構文が決められています。</p><section><h1>ローカルルール</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <cite>Discord Developer Portal — Documentation — Reference</cite>, <time>2023-05-31T22:18:22.000Z</time>, <time>2023-06-01T05:36:42.178Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://discord.com/developers/docs/reference#user-agent">https://discord.com/developers/docs/reference#user-agent</anchor-external></p><blockquote><pre class="HTTP code">User-Agent: DiscordBot ($url, $versionNumber)</pre><p>Clients may append more information and metadata to the end of this string as they wish.</p></blockquote></section></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、特に設定がない限り、各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>に
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> を含める<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>によっては、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> がなかったり、
空だったりすると<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を拒絶することがあるようです。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web互換性</anchor>のためには
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>を要求に含める必要があります。</p></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェントの識別</anchor>を参照。</p></section><section><h1>セキュリティー</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェントの識別</anchor>を参照。</p></section><section><h1>プライバシー</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> の値は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fingerprinting</anchor>
に使われることがあり <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal></src>、注意が必要です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェントの識別</anchor>を参照。</p></section><section><h1>歴史</h1><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> RFC 1945 (HTTP/1.0) 10.15; RFC 2068 (HTTP/1.1) 14.42; RFC 2616 (HTTP/1.1) 14.43 User-Agent</figcaption><blockquote><p>The User-Agent request-header field contains information about the
user agent originating the request. This is for statistical purposes,
the tracing of protocol violations, and automated recognition of user
agents for the sake of tailoring responses to avoid particular user
agent limitations. <del>Although it is not required, user agents should</del> <ins>User agents SHOULD</ins>
include this field with requests. The field can contain multiple product tokens
(Section <del>3.7</del> <ins>3.8</ins>) and comments identifying the agent and any subproducts which
form a significant part of the user agent. By convention, the product tokens
are listed in order of their significance for identifying the application.</p></blockquote><p><dfn><code class="HTTP">User-Agent</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求頭欄</anchor></dfn>は、要求を作成した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>についての情報を含みます。
これは、統計目的、プロトコル違反の追跡、および特定利用者エージェントの制限を避けるために応答を手直しするための利用者エージェントの自動認識のためのものです。
利用者エージェントは、この欄を要求に含める<strong>べきです</strong>。
この欄は、複数の <code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code> 字句ならびに利用者エージェントおよび利用者エージェントの重要な部分を形成する部分製品を識別する注釈を含めることができます。
慣習的に、 <code class="ABNF">product</code> 字句は、その応用を識別するのに有意な順に列挙します。</p><blockquote><ul><li>User-Agent     = &quot;User-Agent&quot; &quot;:&quot; 1*( product | comment )</li></ul></blockquote><blockquote><p>Example:<ul><li>User-Agent: CERN-LineMode/2.15 libwww/2.17b3</li></ul></p></blockquote><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>Note: Some current proxy applications append their product
information to the list in the User-Agent field. This is not
recommended, since it makes machine interpretation of these
fields ambiguous.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">注意: 既存の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>応用の中には <code class="HTTP">User-Agent</code> 欄の並びに自身の製品情報を付加するものもあります。
これは、この欄の機械的解釈が曖昧になってしまうので、推奨しません。</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>Note: Some existing clients fail to restrict themselves to
the product token syntax within the User-Agent field.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">注意: 既存のクライアントの中には <code class="HTTP">User-Agent</code> 欄の product 字句構文に反しているものもあります。</p></delete><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml">注: 修正部はすべて RFC 1945→RFC 2068 での変更点。</p></insert></figure><section><h1>USEFOR draft (電子ニュース・メッセージ) での規定に関して</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> product の中身が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">token</anchor> でしたが、 usefor
では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor> になりました。このおかげで、漢字を使った名前とかも入れられます。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> User-Agent-content   = product-token *( CFWS product-token )</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> User-Agent-header    = &quot;User-Agent&quot; &quot;:&quot; SP User-Agent-content *( &quot;;&quot; other-parameter )</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> product-token        = value [ &quot;/&quot; product-version ]</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> product-version      = value</li></ul><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ietf-usefor</anchor> の議論をちょっと目を離した隙に、 <code class="ABNF">product</code> が <code class="ABNF">token</code> に変わってしまいました。 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> と同じになった。) だから <samp>&quot;A User Agent&quot;</samp> も <samp>&quot;なんかの利用者エージェント&quot;</samp> も駄目になりました。 (なんでそうなったのかは、議論を追えてないので分かりませぬ。)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <em>17</em>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子ニュース</anchor>記事の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">国際化</anchor>を目指した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">usefor-article</anchor> にとって大きな後退です。たとえこのままの仕様で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> になってしまっても、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> が使える<em>旧仕様のメッセージを流し続けましょう</em>。そうすれば son-of-usefor でちゃんとなるかもしれん。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2002-12-22 21:46</weak> <em><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal></em>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">comment</anchor> の中なら <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoded-word</anchor> でも OK ですね。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <code class="ABNF">product-version</code> に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">quoted-string</anchor> を使った例: <code>User-Agent: FooNews/&quot;1.0(Beta1)&quot;</code></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <code class="ABNF">encoded-word</code> を <code class="ABNF">comment</code> 中に使った例: <code>User-Agent: &quot;Bar@&quot;/1.2 (=?us-ascii?q?Micro=24oft_Windoze_XP?= ; i686)</code></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2002-12-25 18:08</weak> <em><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></em>: まだ関係する記事を全部読んでないんですが、どうも電子メイルに gatewaying する時に <code class="ABNF">product</code> の部分が UTF-8 だったらどうするのかが問題になって、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoded-word</anchor> にするのは鬱だし、いっそのことやめちまえになったっぽいです。<strong>ま た e n c o d e d - w o r d か !</strong></li></ul></section><section><h1>Client-Specific Web Services by Using User Agent Attributes </h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> UA: にクライアント情報を一杯詰め込んじまおうという
<strong>Client-Specific Web Services by Using User Agent Attributes</strong> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/NOTE-agent-attributes">http://www.w3.org/TR/NOTE-agent-attributes</anchor-external> W3C NOTE 12-30-1997。
仕様考えた会社位しか実装例が無いらしい(w)。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> User-Agent: AVE-Front/2.0 (BrowserInfo Screen=640x480x256; InputMethod=REMOCON,KEYBOARD; Page=512K; Product=XXXX/Internet-TV; HTML-Level=3.2; Language=ja.JIS; Category=TV; CPU=SH2; Storage=NO;) </li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 一応 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BNF</anchor> とかでちゃんと定義してある。</p><ol><li>Prop_def = &quot;(&quot; &quot;BrowserInfo&quot; Prop_items &quot;)&quot;</li><li>Prop_items = Prop_item | Prop_items Prop_item </li><li>Prop_item = Prop_name &quot;=&quot; Prop_value &quot;;&quot;</li><li>Prop_name = STRING</li><li>Prop_value = STRING </li></ol><blockquote><p>The upper case and lower case in describing Prop_name and Prop_value </p><p>have to be discriminated. </p></blockquote><ol><li>Prop_name  = &quot;Screen&quot; | &quot;InputMethod&quot; | &quot;Page&quot; | &quot;Product&quot; | &quot;HTML-Level&quot; | &quot;Language&quot; | &quot;Category&quot; | &quot;CPU&quot; | &quot;Storage&quot;  </li></ol><p>&quot;Screen&quot;, &quot;InputMethod&quot;, &quot;Page&quot;, &quot;Product&quot;, &quot;HTML-Level&quot; は強く推奨らしいぞ。</p><p>&quot;Screen&quot; の値: width (pixels) &quot;x&quot; height (pixels) &quot;x&quot; colors (colors
は 2, 4, 8, 16, 32, 64, 128, 256, 32K, 64K, 16M のどれか)</p><p>&quot;InputMethod&quot; の値: PEN, KEYBOARD, MOUSE, REMOCON, BUTTON, JOG, ... 
のどれか(複数可)を、読点区切り。 (例では読点の後に SP が。)</p><p>以下説明略。面倒だ:-)  理解する側の実装は (まじめにしよーとすると)
面倒だと思うぞ。値の定義がいい加減だ。</p><p>ところで <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> 1.1 ってなに?</p></section></section><section><h1>例</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェントの識別</anchor>も参照。</p><section><h1>RFC 2616 に適合する例</h1><ul><li>User-Agent: CERN-LineMode/2.15 libwww/2.17b3</li><li>User-Agent: tin/1.2-PL2</li><li>User-Agent: tin/1.3-950621beta-PL0 (Unix)</li><li>User-Agent: tin/unoff-1.3-BETA-970813 (UNIX) (Linux/2.0.30 (i486))</li><li>User-Agent: tin/pre-1.4-971106 (UNIX) (Linux/2.0.30 (i486))</li><li>User-Agent: Mozilla/4.02b7 (X11; I; en; HP-UX B.10.20 9000/712)</li><li>User-Agent: Microsoft-Internet-News/4.70.1161</li><li>User-Agent: Gnus/5.4.64 XEmacs/20.3beta17 (&quot;Bucharest&quot;)</li><li>User-Agent: Pluto/1.05h (RISC-OS/3.1) NewsHound/1.30</li><li>User-Agent: inn/1.7.2</li><li>User-Agent: telnet</li><li>User-Agent: T-gnus/6.14.4 (based on Gnus v5.8.7) (revision 01) REMI/1.14.1 (=?ISO-8859-4?Q?Mushigawa=F2sugi?=) Chao/1.14.1 (=?ISO-8859-4?Q?Rokujiz?= =?ISO-8859-4?Q?=F2?=) APEL/10.2 MULE XEmacs/21.2 (beta33) (Melpomene) (i686-pc-linux)
<form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" input="%text (id =&gt; field-body, label =&gt; {User-Agent: }, size =&gt; 20); (%text(id =&gt; name, label =&gt; {UA ソフトウェア名}, size =&gt; 20);; %text(id =&gt; comment, label =&gt; {備考}, size =&gt; 20);) %submit (label =&gt; {追加});" template="-[%index;] [CODE(HTTP)[User-Agent: %text (source =&gt; field-body);]] %text (source =&gt; name, prefix =&gt; {(}, suffix =&gt; {)});%text (source =&gt; comment, prefix =&gt; { ※});"></form></li></ul></section><section><h1>USEFOR draft に適合する例</h1><ul><li>HTTP に適合するものは、 usefor にも適合します。</li><li>User-Agent: &quot;秀丸エディタ&quot;/3.0 &quot;Microsoft(R) Windows(R) Millenium Edition&quot; (Windows Me)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> User-Agent: &quot;西瓜割&quot;/1.5 Message-pm/1.23
<form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" input="%text (id =&gt; field-body, label =&gt; {User-Agent: }, size =&gt; 20); (%text(id =&gt; name, label =&gt; {UA ソフトウェア名}, size =&gt; 20);; %text(id =&gt; comment, label =&gt; {備考}, size =&gt; 20);) %submit (label =&gt; {追加});" template="-[%index;] [CODE(HTTP)[User-Agent: %text (source =&gt; field-body);]] %text (source =&gt; name, prefix =&gt; {(}, suffix =&gt; {)});%text (source =&gt; comment, prefix =&gt; { ※});"></form></li></ul></section><section><h1>間違った例とこれへの対処について</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end>User-Agent: Mozilla/4.7 [ja]C-{C-UDP; EBM-SONY2}</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>User-Agent: DoCoMo/1.0/N503i/c10</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end>User-Agent: H-Hash@StudyingHTTP.NET</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end>User-Agent: HttpGet/1.0(Win32; GUI; ix86)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end>User-Agent: ネットスケープ 2.0
<form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" input="%text (id =&gt; field-body, label =&gt; {User-Agent: }, size =&gt; 20); (%text(id =&gt; name, label =&gt; {UA ソフトウェア名}, size =&gt; 20);; %text(id =&gt; comment, label =&gt; {備考}, size =&gt; 20);) %submit (label =&gt; {追加});" template="-[%index;] [CODE(HTTP)[User-Agent: %text (source =&gt; field-body);]] %text (source =&gt; name, prefix =&gt; {(}, suffix =&gt; {)});%text (source =&gt; comment, prefix =&gt; { ※});"></form></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> 間違った例でもそれなりに使われている以上、対応する必要もあるでしょう。
(でも頭が痛いなあ。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> は、 [ja] 以降の部分で []{}; を使うのを止めるか、全体を
comment にしてしまうべきものでしょう。 usefor 的には {} は
OK なんですが。あるいは全体を quoted-string にするとか。
読む側としては、不正だから無視するのが一番楽。
どうしても読むなら、 http-token の代わりに *&lt;&quot;/&quot; を除く CHAR&gt;
を使うとか。それでも後半が2部分に分かれますが。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal> は、 N503i 以降を comment にするか、区切りを &quot;/&quot; じゃなくて &quot;-&quot;
にするとかすべきだったと。読む実装側は・・・悩ましい。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal> は、 usefor なら quoted-string にしておくとか。 HTTP では無理だねえ。
(こんなところにメイルアドレスなんて入れるなよ。)
読む側は 1 と同じ対処かな。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal> は、 comment の前に SP 入れなさい、って話。 HTTP では必須らしいけど、
usefor 的には無くても OK だねぇ。互換性のために入れた方がいいと
思うけど。読む側は無くても解釈できるのが望ましかろう。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> は、実際、生 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-2022-JP</anchor> (ならまだ良い。) とか 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EUC-JP</anchor> とか
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor> とか入れる人が少なくないらし。御丁寧にも 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoded-word</anchor>
使う人とかもいるらしいねえ。 なんにせよ、 http-token 以外の文字を
使う時は、 quoted-string にしましょ。 (但し usefor only.)</p><p>古い版の MacIE は、日本語版では「ネットスケープ 2.0」とかほざくらしい。
シフト JIS でね。英語版では 「Mozilla/2.0」だったと思われ。藁。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.dais.is.tohoku.ac.jp/logs/agentgripes.html">http://www.dais.is.tohoku.ac.jp/logs/agentgripes.html</anchor-external> からめぼしい(謎)もの。
(適当に上の方から。)</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end>User-Agent: A.G.E.N.T. http://masui.net/agent/libwww-perl/5.44</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end>User-Agent: Acoon Robot v1.50.001 (www.acoon.de)</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal> URI 生書きいや〜ん。 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal> 構文としては問題ないけど<em>名前/版</em>形式きぼんぬ。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> どうせ規格に違反するなら、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;44</anchor-internal> の usefor の改良された方法で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">quoted-string</anchor> を使うようにしていった方が、見よう見まねの実装で正しい値を使うようになるんじゃないかと思います。(甘いかな。) ですから新しい実装は、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;44</anchor-internal> の usefor の形式に合致する値を出力するのが望ましいと考えられます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;51</anchor-internal> の考え方からすれば、現実的に表現力が小さいだけで何の役にも立っていない今の HTTP の書式を無理に使うよりは、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;44</anchor-internal> の usefor のより自由な方式に (現状では HTTP RFC と一致しなくても) 切り替えていった方が良いかもしれません。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal> HTTP/1.0 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC1945</anchor>) では、 <code class="ABNF">%x80-FF</code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-8859-1</anchor> と解釈しても<strong>良い</strong>のであって強制ではありませんから、<strong>注釈の中なら</strong>シフト JIS を入れたり日本語 EUC を入れたり Big5 を入れたりしても問題ありませんね。して欲しくないけど。更に注釈外の生書きはもちろん駄目だけど。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;53</anchor-internal> また、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoded-word</anchor> を使う場合も注釈内なら構いませんが、注釈外はいけませんね。 (HTTP の場合)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> 但し、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;44</anchor-internal>- のように電子ニュースの手法を使って勝手に拡張してしまうなら、 <samp>&quot;=?us-ascii?q?A_Sample_User_Agent?= (ASUA)&quot;/&quot;2.45 =?us-ascii?q?=28Lilly=29?=&quot;</samp> みたいなのもありだと思います。 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> 的には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">quoted-string</anchor> の中に <code class="ABNF">encoded-word</code> を入れるのはよくないんだけど、 HTTP 的にはあまり気にしない。)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> もちろん、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal> の例は例であって、 US-ASCII だけの文字列を <code class="ABNF">encoded-word</code> にするなんてばかげたことは (普通は) しないで下さい、念のため。</li></ul></section></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> には、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor>
<code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigator.userAgent</anchor></code> からもアクセスできます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end>
<code class="822">User-Agent:</code> 欄があるプロトコル:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 822</anchor> 系<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メイル</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子ニュース</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RTSP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor></li></ul></p><p><code class="822">User-Agent:</code> 欄に関係するプロトコル要素:<ul><li><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP_USER_AGENT</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGI</anchor>)</li><li><code class="CGI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP_USER_AGENT</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタ変数</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP CGI</anchor>)</li><li><code class="JS"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigator</anchor></code> 物体 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM水準0</anchor>)</li><li><code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Server</anchor>:</code> 欄 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RTSP</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor>)</li></ul></p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <cite>UserAgent - iPhone 3G DevWiki</cite>
(Referenced: <time>2009-08-25T18:40:39+09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://wiki.sohaya.com/index.php/UserAgent">http://wiki.sohaya.com/index.php/UserAgent</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <cite>IRC logs: freenode / #whatwg / 20100617</cite>
(<time>2010-06-27 14:30:04 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://krijnhoetmer.nl/irc-logs/whatwg/20100617#l-752">http://krijnhoetmer.nl/irc-logs/whatwg/20100617#l-752</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <cite>IRC logs: freenode / #whatwg / 20100913</cite>
( (<time>2010-09-26 22:31:37 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://krijnhoetmer.nl/irc-logs/whatwg/20100913">http://krijnhoetmer.nl/irc-logs/whatwg/20100913</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <cite xml:lang="en">draft-karcz-uuas-00 - Unified User-Agent String (UUAS)</cite>
( (<time>2012-04-30 13:21:14 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/draft-karcz-uuas-00">http://tools.ietf.org/html/draft-karcz-uuas-00</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <cite xml:lang="en-US-x-hixie">HTML Standard</cite>
( (<time>2012-07-26 07:21:45 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.whatwg.org/specs/web-apps/current-work/#client-identification">http://www.whatwg.org/specs/web-apps/current-work/#client-identification</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> ( (<time>2012-11-09 12:46:44 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.etsi.org/deliver/etsi_ts/102700_102799/102796/01.02.01_60/ts_102796v010201p.pdf">http://www.etsi.org/deliver/etsi_ts/102700_102799/102796/01.02.01_60/ts_102796v010201p.pdf</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> <cite xml:lang="en">Re: History of device independence, User-Agent header?</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Sean B. Palmer</anchor> 著, <time>2014-07-15 04:42:58 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lists.w3.org/Archives/Public/public-webhistory/2014Jul/0001.html">http://lists.w3.org/Archives/Public/public-webhistory/2014Jul/0001.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> <cite xml:lang="en">RFC 3507 - Internet Content Adaptation Protocol (ICAP)</cite>
( (<time>2014-06-08 07:17:07 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3507#page-14">http://tools.ietf.org/html/rfc3507#page-14</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <cite xml:lang="en"><strong></strong>[<strong></strong>whatwg<strong></strong>]<strong></strong> Controlling the User-Agent header from script</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Anne van Kesteren</anchor> 著, <time>2014-10-13 22:53:20 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Oct/0151.html">http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Oct/0151.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> <cite>The Platform for Privacy Preferences 1.0 (P3P1.0) Specification</cite>
( (<time>2002-04-16 22:03:48 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/P3P/#other_http_info">http://www.w3.org/TR/P3P/#other_http_info</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> <cite xml:lang="en">RFC 5536 - Netnews Article Format</cite>
( (<time>2014-09-21 18:14:06 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5536#section-3.2.13">http://tools.ietf.org/html/rfc5536#section-3.2.13</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite xml:lang="en">RFC 5965 - An Extensible Format for Email Feedback Reports</cite>
(<time>2014-12-21 09:40:25 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5965#section-3.1">http://tools.ietf.org/html/rfc5965#section-3.1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2616</anchor> を引用して <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">message/feedback-report</anchor></code>
における <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> を規定していますが、ここでは構文上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CFWS</anchor> に置き換えられています。 <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">comment</anchor></code> を値の先頭に置くことができます。</p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <cite>Connecting to a streaming endpoint | Twitter Developers</cite>
(<time>2015-03-05 11:50:39 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://dev.twitter.com/streaming/overview/connecting">https://dev.twitter.com/streaming/overview/connecting</anchor-external></figcaption><blockquote><p>If your environment precludes setting the User-Agent field, then set an X-User-Agent header.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <cite xml:lang="en">`user-agent` header control · Issue #37 · whatwg/fetch</cite>
(<time>2015-04-06 11:34:07 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/issues/37">https://github.com/whatwg/fetch/issues/37</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> <cite xml:lang="en">Re: user-agent header control</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Anne van Kesteren</anchor> 著, <time>2015-04-06 04:12:09 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://lists.w3.org/Archives/Public/public-webapps/2015AprJun/0043.html">https://lists.w3.org/Archives/Public/public-webapps/2015AprJun/0043.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> <cite xml:lang="en">Allow User-Agent to be set, but not omitted. Also group all the heade… · whatwg/fetch@dab09b0</cite>
(<time>2015-07-30 14:22:21 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/dab09b0c483c46324082df1e54b29ed4c9c02162">https://github.com/whatwg/fetch/commit/dab09b0c483c46324082df1e54b29ed4c9c02162</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="123" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[123]</anchor-end> <cite xml:lang="en">Issue 310456 - chromium - FTP not working behind Authenticating HTTP Proxy using NTLM (Forefront TMG) - Monorail</cite>
( (<time>2016-06-11 12:48:19 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=310456#c18">https://bugs.chromium.org/p/chromium/issues/detail?id=310456#c18</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[124]</anchor-end> <cite>ARIB TR-B39</cite>
(<time>2016-07-25 17:01:00 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.arib.or.jp/english/html/overview/doc/4-TR-B39v1_0-1p4.pdf#page=309">http://www.arib.or.jp/english/html/overview/doc/4-TR-B39v1_0-1p4.pdf#page=309</anchor-external></figcaption><blockquote><p>HTML ブラウザは、User-Agent ヘッダを図 10-7 に示す書式に合わせて HTTP リクエストのヘ</p><p>ッダに含めて送信しなければならない。</p><p>User-Agent: &lt;others&gt; &lt;SystemName&gt;/1.0</p><p>(&lt;Capability&gt;;&lt;MakerId&gt;;&lt;ModelId&gt;;&lt;MajorVer&gt;;&lt;MinorVer&gt;;</p><p>&lt;reserved&gt;) &lt;others&gt;</p><p>図 10-7 User-Agent ヘッダ</p><p>&lt;SystemName&gt; : &quot;A-PAB&quot;</p><p>&lt; Capability &gt; : 受信機の能力を表す。</p><p>カンマ(&quot;,&quot;)区切りで受信機の能力を表す文字列を列挙するものとし、先頭から順に、ブラウザ</p><p>表示解像度、ビデオ再生解像度を表現する。それ以降の項目については将来の規定項目とする。</p><p>&lt;Capability&gt;=browser_resolution&quot;,&quot;video_resolution[&quot;,&quot;reserved]</p><p>browser_resolution=&quot;2K&quot;|&quot;4K&quot;|&quot;8K&quot;</p><p>video_resolution=&quot;2K&quot;|&quot;4K&quot;|&quot;8K&quot;</p><p>browser_resolution はブラウザで表示可能な最大のコンテンツの解像度を示し、</p><p>video_resolution は video 要素によって再生可能な最大の解像度を示す。それぞれ</p><p>&quot;2K&quot;,&quot;4K&quot;,&quot;8K&quot;のいづれかが記述される。記述がない場合は&quot;2K&quot;と見なす。なお、&quot;4K&quot;に</p><p>対応するものは&quot;2K&quot;にも対応し、&quot;8K&quot;に対応するものは&quot;4K&quot;および&quot;2K&quot;にも対応するもの</p><p>とする。</p><p>&lt;MakerId&gt;:製造メーカーの識別を示す。</p><p>MakerId は 6 桁の文字列で、IEEE 規定の 24bit のカンパニーID(OUI)を base16 の文字列</p><p>で表したものとする。メーカーに対して OUI は複数存在する可能性があるが、そのうち特定</p><p>の1種類を MakerId として使用すること。</p><p>&lt; ModelId &gt;:機種を示すコードであり、10 文字までの文字列である。運用は各メーカーに任され</p><p>る。</p><p>&lt;MajorVer&gt;&lt;MinorVer&gt;: 端末のバージョン情報を示し、共に 8 文字までの文字列とする。</p><p>ModelId が同一で、動作が異なる端末には、異なるバージョンを付する。運用は各メーカーに</p><p>任される。</p><p>&lt;reserved&gt;:将来の拡張のための領域</p><p>&lt;others&gt;: メーカーが自由に使える領域。ただし、本規定の識別子と区別するため、</p><p>&lt;SystemName&gt;で文字列が始まらない必要がある。なお、使用する文字列は RFC 7231 に従</p><p>うものとする。 </p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[127]</anchor-end> 
<code>Mozilla/5.0 (Linux; Android 7.0; 502SO Build/39.2.D.0.211; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 インターネット/3.0.2.2</code>
「インターネット」は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">半角カナ</anchor>。
<time>2017-05-29T08:10:43.200Z</time></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="128" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[128]</anchor-end> <cite xml:lang="en">GitHub API v3 | GitHub Developer Guide</cite>
(<time>2017-06-10 05:53:45 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developer.github.com/v3/#user-agent-required">https://developer.github.com/v3/#user-agent-required</anchor-external></figcaption><blockquote><p>All API requests MUST include a valid User-Agent header. Requests with no User-Agent header will be rejected. We request that you use your GitHub username, or the name of your application, for the User-Agent header value.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite xml:lang="ja">Chromiumベースの新Microsoft Edgeは接続先に応じて別のブラウザに偽装する | スラド IT</cite>
(<time>2019-04-23 21:48:49 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://it.srad.jp/story/19/04/23/0527248/">https://it.srad.jp/story/19/04/23/0527248/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="en">182629 – <strong>[</strong>macOS, iOS<strong>]</strong> Expose OS marketing version in UserAgent</cite>
(<time>2019-06-22 12:08:24 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.webkit.org/show_bug.cgi?id=182629">https://bugs.webkit.org/show_bug.cgi?id=182629</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="ja">User Agent Changes | Vivaldi Browser</cite>
(<time>2019-12-21 09:26:22 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://vivaldi.com/ja/blog/user-agent-changes/">https://vivaldi.com/ja/blog/user-agent-changes/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite>Intent to Deprecate and Freeze: The User-Agent string - Google グループ</cite>
(<time>2020-01-17 16:38:45 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/-2JIRNMWJ7s/yHe4tQNLCgAJ">https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/-2JIRNMWJ7s/yHe4tQNLCgAJ</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <cite xml:lang="en">Freeze the User Agent string - Chrome Platform Status</cite>
(<time>2020-01-17 16:39:16 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.chromestatus.com/feature/5704553745874944">https://www.chromestatus.com/feature/5704553745874944</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite xml:lang="en">User Agent Client Hints · Issue #202 · mozilla/standards-positions</cite>
(<time>2020-01-17 16:41:25 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/mozilla/standards-positions/issues/202">https://github.com/mozilla/standards-positions/issues/202</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="en">Remove OS build number from user-agent string - Chrome Platform Status</cite>
(<time>2020-01-17 16:41:53 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.chromestatus.com/feature/4558585463832576">https://www.chromestatus.com/feature/4558585463832576</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <cite xml:lang="en">Chromium Blog: Changing the Chrome on iOS User Agent for Request Desktop Site</cite>
(<time>2020-09-15T15:16:41.000Z</time>, <time>2020-09-17T01:13:51.396Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://blog.chromium.org/2020/09/changing-chrome-on-ios-user-agent-for.html">https://blog.chromium.org/2020/09/changing-chrome-on-ios-user-agent-for.html</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> <cite xml:lang="ja">はてなブログの2020年9月の機能修正・改善をお知らせします(7件) - はてなブログ開発ブログ</cite>
(<time>2020-10-02T01:14:26.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://staff.hatenablog.com/entry/2020/10/01/130000">https://staff.hatenablog.com/entry/2020/10/01/130000</anchor-external></figcaption><blockquote><p>User-Agentにbotが含まれていたため、Flickrをクロールする際にアクセスができず、画像を取得できない問題がありましたがこの修正により解消しました。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <cite xml:lang="ja">作ろうiモードコンテンツ:ユーザエージェント | サービス・機能 | NTTドコモ</cite>
(<time>2020-12-29T11:13:39.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.nttdocomo.co.jp/service/developer/make/content/spec/useragent/index.html">https://www.nttdocomo.co.jp/service/developer/make/content/spec/useragent/index.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <cite xml:lang="ja">作ろうiモード:ユーザエージェント | サービス・機能 | NTTドコモ</cite>
(<time>2020-12-29T11:20:25.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.nttdocomo.co.jp/service/developer/make/content/browser/browser2/useragent/index.html">https://www.nttdocomo.co.jp/service/developer/make/content/browser/browser2/useragent/index.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <cite xml:lang="en">Downgrade User Agent Client Hints to 'harmful' · Issue #552 · mozilla/standards-positions</cite>
(<time>2021-07-22T03:40:04.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/mozilla/standards-positions/issues/552">https://github.com/mozilla/standards-positions/issues/552</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <cite xml:lang="en">User-Agent Reduction origin trial - Chrome Developers</cite>
(<time>1980-01-01T00:00:01.000Z</time>, <time>2021-09-17T01:12:24.799Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developer.chrome.com/blog/user-agent-reduction-origin-trial/">https://developer.chrome.com/blog/user-agent-reduction-origin-trial/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <cite xml:lang="en">User-Agent Reduction origin trial - Chrome Developers</cite>
(<time>1980-01-01T00:00:01.000Z</time>, <time>2021-09-17T01:12:43.762Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developer.chrome.com/blog/user-agent-reduction-origin-trial/">https://developer.chrome.com/blog/user-agent-reduction-origin-trial/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <cite xml:lang="en">1719070 - Add Nimbus client code for &quot;Firefox/100.0&quot; UA string experiment</cite>
(<time>2021-12-17T02:57:36.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=1719070">https://bugzilla.mozilla.org/show_bug.cgi?id=1719070</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <cite xml:lang="ja">Apple の緊急セキュリティ対応、一部サイトが正しく表示されなくなる問題 | スラド アップル</cite>, <time>2023-07-18T14:41:18.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://apple.srad.jp/story/23/07/12/181232/">https://apple.srad.jp/story/23/07/12/181232/</anchor-external></p><blockquote><p>問題が発生しているのは iOS 16.5.1 (a) / iPadOS 16.5.1 (a) / macOS Ventura 13.4.1 (a) で、それぞれ問題を修正した iOS 16.5.1 (b) / iPadOS 16.5.1 (b) / macOS Ventura 13.4.1 (b) を間もなくリリースするとのこと。</p><p>問題の原因は Safari のユーザーエージェント文字列に「(a)」が含められたこととみられる。これにより、Facebook や Instagram などのサイトが古いバージョンのブラウザーと誤認識してしまうようだ。</p></blockquote></section></body></html>