<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="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <dfn><code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">product</anchor></code></dfn> は、<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>を表す構文です。</p><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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <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></li></ul></refs></section><section><h1>文脈</h1><p><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> <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>と
<code class="HTTP" xml:lang="en"><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:">ヘッダー</anchor>で使われています。</p></section><section><h1>構文</h1><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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>、または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>、<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src>。前者の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>が名前を、
後者の<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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src>。</p><figure class="railroad"><ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor></li><li>?<ol><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor></li></ol></li></ol></figure><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> 実際にはこの構文は必ずしも守られていません。詳しくは
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent:</anchor></code> と <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Server:</anchor></code>
を参照してください。</p></section><section><h1>歴史</h1><figure class="quote"><figcaption><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> RFC 1945 (HTTP/1.0) 3.7; RFC 2068・2616 (HTTP/1.1) 3.8 Product Tokens</p></figcaption><blockquote><p>Product tokens are used to allow communicating applications to
identify themselves <del>via a simple product token, with an optional slash and version designator</del> <ins>by software name and version</ins>.
Most fields using product tokens also allow sub<ins>-</ins>products
which form a significant part of the application to be listed, separated by <del><ins>{1945,2068}</ins> whitespace</del> <ins><ins>{2616}</ins> white space</ins>.
By convention, the products are listed in order of their significance
for identifying the application.</p></blockquote><p><dfn>製品字句</dfn>は、通信する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>がソフトウェア名・版で自身を識別することができるように使います。
製品字句を使うほとんどの欄は、その応用の重要な部分を担っている部分製品を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>で分離して列挙することも認めています。
慣習上、製品は識別する応用にとって重要な順に列挙します。</p><blockquote><ul><li>product         = token [&quot;/&quot; product-version]</li><li>product-version = token</li></ul></blockquote><blockquote><p>Examples:</p></blockquote><p>例:</p><blockquote><ul><li>User-Agent: CERN-LineMode/2.15 libwww/2.17b3</li><li>Server: Apache/0.8.4</li></ul></blockquote><blockquote><p>Product tokens <del><ins>{1945,2068</ins>] should</del> <ins>SHOULD</ins> be short and to the point<ins>. <ins>{2616}</ins> They MUST NOT be used</ins> <del><ins>{1945,2068}</ins> -- use of them</del>
for <del>advertizing</del> <ins>advertising</ins> or other non-essential information <del><ins>{1945,2068}</ins> is explicitly forbidden</del>.  Although any token character <del><ins>{1945,2068}</ins> may</del> <ins>MAY</ins> appear in a product-version, this 
token <del><ins>{1945</ins>] should</del> <ins>SHOULD</ins> only be used for a version identifier
(i.e., successive versions of the same product <del>should</del> <ins>SHOULD</ins> only differ in
the product-version portion of the product value).</p></blockquote><p>製品字句は短く、的を射たものである<strong>べきです</strong>。
これを宣伝や他の非本質的な情報に使っては<strong>なりません</strong>。
<code class="ABNF">product-version</code> では任意の字句文字を使っても構いませんが、
この字句は版識別子にのみ使用する<strong>べきです</strong>
(つまり、同じ製品の後継版は <code class="ABNF">product</code> 値の <code class="ABNF">product-version</code>
部分だけが異なる<strong>べきです</strong>)。</p></figure></section><section><h1>関連</h1><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> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Via:</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:">串</anchor>のソフトウェアを識別するために使われています。</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 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> 
と同じような構文ですが、仕様上は別のものとされています。</p><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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Metalink</anchor> の <code class="XMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">generator</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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end>
<cite>PICSRules Specification</cite> <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/REC-PICSRules-971229#OrderOfOperations">http://www.w3.org/TR/REC-PICSRules-971229#OrderOfOperations</anchor-external></p><p><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">creationTool</anchor></code> 属性は
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">User-Agent</anchor></code> 欄と同じような書式を採用しています。</p><figure class="quote"><figcaption><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> <cite>OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema</cite>
(<time>2011-09-29 13:00: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://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a4_3_2_1_meta_generator_">http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a4_3_2_1_meta_generator_</anchor-external></p></figcaption><blockquote><p>The <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="meta:generator">meta:generator</anchor-external> element contains a string that identifies the OpenDocument producer that was used to create or last modify the document. This string should match the definition for user-agents in the HTTP protocol as specified in section 14.43 of <strong>[</strong>RFC2616<strong>]</strong>. </p></blockquote></figure></section></body></html>