<html xmlns="http://www.w3.org/1999/xhtml" a0:Name="SuikaWiki" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:Version="0.9"><head></head><body><p>The 'go' URI Scheme for the Common Name Resolution Protocol <ins>共通名前解決プロトコル用 <code class="URI">go</code> URI 方式</ins><ul><li>Network Working Group                                       </li><li>Request for Comments: 3368                               </li><li>Category: Standards Track                                   </li><li>M. Mealling</li><li>VeriSign, Inc.</li><li>August 2002</li></ul></p><section><h1>Status of this Memo</h1><pre>   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the &quot;Internet
   Official Protocol Standards&quot; (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.</pre></section><section><h1>Copyright Notice</h1><pre>   Copyright (C) The Internet Society (2002).  All Rights Reserved.</pre></section><section><h1>Abstract</h1><blockquote><p>This document defines a URI scheme, 'go:' to be used with the Common
Name Resolution Protocol.  Specifically it lays out the syntactic
components and how those components are used by URI Resolution to
find the available transports for a CNRP service.  Care should be
taken with several of the URI components because, while they may look
like components found in other URI schemes, they often do not act
like them.  The &quot;go&quot; scheme has more in common with the location
independent &quot;news&quot; scheme than any other URI scheme.</p></blockquote><p>この文書は、共通名前解決プロトコルと共に使用する <code class="URI">go:</code>
URI 方式を定義します。特にこの文書は構文的部品と空らの部品が
CNRP サービスの利用可能な輸送路を探すために URI 解決によりどう使用されるかを述べます。
URI 部品の幾つかは、他の URI 方式に見える部品と似ているように見えますが、
しばしば同じようには働かないので、注意するべきです。
<code class="URI">go</code> 方式は、位置独立である <code class="URI">news</code>
方式に、他の URI 方式よりも似ています。</p></section><section><h1>Table of Contents</h1><pre>   1.    Goals  . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.    Terminology  . . . . . . . . . . . . . . . . . . . . . . . .  2
   3.    Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.1   General Syntax . . . . . . . . . . . . . . . . . . . . . . .  3
   3.2   ABNF Grammar . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.3   Special Cases and Default Values . . . . . . . . . . . . . .  4
   3.3.1 If There is Only a Server  . . . . . . . . . . . . . . . . .  4
   3.3.2 If Server is Empty Then server=localhost . . . . . . . . . .  4
   3.3.3 Default Port . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.4   Encoding Rules . . . . . . . . . . . . . . . . . . . . . . .  4
   4.    Transport Independence . . . . . . . . . . . . . . . . . . .  4
   5.    Examples . . . . . . . . . . . . . . . . . . . . . . . . . .  4
   6.    Security Considerations  . . . . . . . . . . . . . . . . . .  5
   7.    IANA Considerations  . . . . . . . . . . . . . . . . . . . .  5
         References . . . . . . . . . . . . . . . . . . . . . . . . .  6
   A.    Registration Template  . . . . . . . . . . . . . . . . . . .  7
         Author's Address . . . . . . . . . . . . . . . . . . . . . .  7
         Full Copyright Statement . . . . . . . . . . . . . . . . . .  8</pre></section><section><h1>1. Goals</h1><blockquote><p>The two goals of the CNRP [3] URI [1] are to identify both a specific
common-name record at a specific server and to identify a possibly
dynamic query or entry point into the query process.  Since CNRP
requires that the ID be a core query term, these two cases can be
generalized down to simply specifying a query that contains only the
ID of the item.</p></blockquote><p><a0:anchor>CNRP</a0:anchor> <a0:anchor>URI</a0:anchor> の二つの目的は、特定の鯖にある特定の橋通名記録を識別することと、
動的たり得る問合せまたは問合せ手続きへの項目点を識別することです。
CNRP は <a0:anchor>ID</a0:anchor> が中核問合せ語となることを要求していますから、
この二つの場合は単純に項目の ID だけを含む問合せを指定すると一般化できます。</p><blockquote><p>On first glance it would seem a simple enough exercise to
canonicalize the XML encoded query and then insert it into the query
portion of the URL.  The problem here is that, due to the encoding
rules, any remotely complex query will quickly blow out the URI
length limitations.  The suggested solution is to provide a
simplified query syntax that is a subset of what is available via the XML.</p></blockquote><p>一見すると <a0:anchor>XML</a0:anchor> 符号化問合せを<a0:anchor>正準化</a0:anchor>して、それを <a0:anchor>URL</a0:anchor>
の問合せ部分に挿入するだけの十分簡単なことに見えます。
ここでの問題は、符号化規則により、少し問合せが複雑であるとすぐに URI
長制限を飛ばしてしまうことです。提案する解決策は、
XML を介して利用可能な問合せ構文の部分集合である簡略化問合せ構文を提供することです。</p></section><section><h1>2. Terminology</h1><blockquote><p>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
&quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in this
document are to be interpreted as described in RFC 2119 [4].</p></blockquote><p>この文書で見出し語「<strong>しなければならない</strong>」、「<strong>してはならない</strong>」、
「<strong>する必要がある</strong>」、「<strong>するべきである</strong>」、
「<strong>するべきではない</strong>」、「<strong>推奨する</strong>」、
「<strong>構わない</strong>」、「<strong>任意選択</strong>」
は <a0:anchor>RFC 2119</a0:anchor> に記述されているように解釈します。</p></section><section><h1>3. Syntax Rules</h1><section><h1>3.1 General Syntax</h1><blockquote><p>The CNRP URI comes in two forms.  The first form is for talking to a
specific server.  The second form is for expressing a query that is
meant to be sent to several different CNRP services.  The following
two examples are for pedagogical purposes only.  The complete ABNF
grammar in Section 3.2 is the only authoritative syntax definition.</p></blockquote><p>CNRP URI は二つの形を取ります。最初の形は特定の鯖と話すための物です。
二番目の形は幾つかの異なる CNRP サービスに送信されるところの問合せを表現するための物です。
次の二つの例は説明の目的のためだけのものです。
3.2節の完全な <a0:anchor>ABNF</a0:anchor> 文法だけが規定的構文定義です。</p><blockquote><ul><li>go://[&lt;host&gt;]?[&lt;common-name&gt;]*[;&lt;attribute&gt;=[&lt;type&gt;,]&lt;value&gt;]</li></ul></blockquote><blockquote><p>and</p></blockquote><p>と</p><blockquote><ul><li>go:&lt;common-name&gt;*[;&lt;attribute&gt;=[&lt;type&gt;,]&lt;value&gt;]</li></ul></blockquote></section><section><h1>3.2 ABNF Grammar</h1><blockquote><p>The full ABNF [2] (certain values are included by reference from RFC 2396 [1]):</p></blockquote><p>完全な ABNF (ある値は <a0:anchor>RFC 2396</a0:anchor> からの参照により含んでいます。):</p><blockquote><ul><li>cnrp-uri      = &quot;go:&quot; (form1 / form2)</li><li>form1         = &quot;//&quot; [server] [&quot;?&quot; ((common-name *avpair) / id-req) ]</li><li>form2         = common-name *avpair</li></ul><ul><li>id-req        = &quot;id=&quot; value</li><li>avpair        = &quot;;&quot; attribute &quot;=&quot; [ type &quot;,&quot; ] value</li></ul><ul><li>server        = // as specified in RFC2396</li></ul><ul><li>common-name     = *(unreserved | escaped)</li><li>attribute       = *(unreserved | escaped)</li><li>value           = *(unreserved | escaped)</li><li>type            = *(unreserved | escaped)</li></ul><ul><li>unreserved      = // as specified in RFC2396</li></ul><ul><li>escaped       = &quot;%&quot; hex hex</li><li>hex           = &quot;0&quot; | &quot;1&quot; | &quot;2&quot; | &quot;3&quot; | &quot;4&quot; | &quot;5&quot; | &quot;6&quot; | &quot;7&quot; |
&quot;8&quot; | &quot;9&quot; | &quot;A&quot; | &quot;B&quot; | &quot;C&quot; | &quot;D&quot; | &quot;E&quot; | &quot;F&quot; |
&quot;a&quot; | &quot;b&quot; | &quot;c&quot; | &quot;d&quot; | &quot;e&quot; | &quot;f&quot;</li></ul></blockquote></section><section><h1>3.3 Special Cases and Default Values</h1><section><h1>3.3.1 If There is Only a Server</h1><blockquote><p>In the case where the CNRP URI contains only the server production
then the URI identifies a given CNRP server, not any particular query
that is to be done.  A client can assume that this server will at
least answer the 'servicequery' request.</p></blockquote><p>CNRP URI が <code class="ABNF"><a0:anchor>server</a0:anchor></code> (鯖) 生成字句だけを含んでいる場合は、
その URI は行われる特定の問合せではなく、特定の CNRP 鯖を識別します。
クライアントはこの鯖が少なくても <code><a0:anchor>servicequery</a0:anchor></code>
要求の返答であると仮定できます。</p></section><section><h1>3.3.2 If Server is Empty Then server=localhost</h1><blockquote><p>If the 'server' element has no value then its value MUST be assumed
to be &quot;localhost&quot;.</p></blockquote><p><code class="ABNF">server</code> 要素が値を持たなければ、その値は
<code class="URI"><a0:anchor>localhost</a0:anchor></code> と仮定しなければ<strong>なりません</strong>。</p></section><section><h1>3.3.3 Default Port</h1><blockquote><p>CNRP's well known HTTP transport port is 1096.  If the port value
portion of the server production is not specified then port 1096
SHOULD be used if the client has no prior knowledge about other ports
or transports that the service may support.</p></blockquote><p>CNRP のよく知られた <a0:anchor>HTTP</a0:anchor> 転送<a0:anchor>ポート</a0:anchor>は <code><a0:anchor>1096</a0:anchor></code>
です。 <code class="ABNF">server</code> 生成字句の <code class="ABNF"><a0:anchor>port</a0:anchor></code>
値が指定されていなければ、サービスが支援している他のポートまたは輸送路についての慈善の知識をクライアントが有しないなら、
ポート <code>1096</code> を使用する<strong>べきです</strong>。</p></section></section><section><h1>3.4 Encoding Rules</h1><blockquote><p>The common-name, query parameters, and parameter values must be
encoded using the UTF-8 encoding scheme [5], and any octet that is
not one of the permitted characters per the above grammar MUST
instead be represented by a &quot;%&quot; followed by two characters from the
&lt;hex&gt; character set above.  The two characters give the hexadecimal
representation of that octet.</p></blockquote><p><code class="ABNF">common-name</code> (共通名)、問合せ引数、
引数 <code class="ABNF">value</code> (値) は <a0:anchor>UTF-8</a0:anchor> 符号化方式を用いて符号化し、
上記の文法で認められている文字以外の<a0:anchor>オクテット</a0:anchor>は代わりに
<code class="URI">%</code> に上述の <code class="ABNF">hex</code> 文字集合からの2文字を続けて
表現しなければ<strong>なりません</strong>。2文字はそのオクテットの十六進数表現を与えます。</p></section></section><section><h1>4. Transport Independence</h1><blockquote><p>As stated in the CNRP protocol specification [3], CNRP is allowed to
be expressed over multiple transport protocols with HTTP being
mandatory to implement.  In the case where a client attempts to
resolve a CNRP URI and it knows nothing about the service being
referenced in that URI, then it SHOULD use HTTP on the CNRP default
port (1096).</p></blockquote><p>CNRP プロトコル仕様書が述べているように、 CNRP
は複数の輸送路プロトコル上で表現することが認められており、
そのうち HTTP は実装することが強制されています。
クライアントが CNRP URI を解決しようとする場合であって、
その URI で参照されているサービスについて何も知らない場合は、
CNRP 既定ポート (<code>1096</code>) で HTTP を使用する<strong>べきです</strong>。</p></section><section><h1>5. Examples</h1><blockquote><pre>go:Mercedes%20Benz</pre><p>This example shows a general query for the common-name &quot;Mercedes
Benz&quot;.  The intent is that the query should be packaged with any
client provided defaults and sent to the one or more services that
the client has configured to ask.</p></blockquote><p>この例は共通名 <samp>Mercedes Benz</samp> の一般問合せを示しています。
意図するところは、問合せはクライアントが既定値を提供して包み、
クライアントがたずねるように設定されている一つ以上のサービスに送信するべきとのことです。</p><blockquote><pre>go://?Mercedes%20Benz</pre><p>This example shows a general query for the common-name &quot;Mercedes
Benz&quot; that is sent to the server running on the 'localhost'.</p></blockquote><p>この例は <code>localhost</code> で走っている鯖への共通名 <code>Mercedes Benz</code>
の一般問合せを示しています。</p><blockquote><pre>go://cnrp.foo.com?Mercedes%20Benz;geography=US-ga</pre><p>This example shows a query for the common-name &quot;Mercedes Benz&quot; in
the geographic area &quot;US-ga&quot; which should be sent to the server
found at cnrp.foo.com.</p></blockquote><p>この例は <code>cnrp.foo.com</code> にある鯖に送信されるべき地理的地域
<code>US-ga</code> 内の共通名 <code>Mercedes Benz</code> の問合せを示します。</p><blockquote><pre>go://cnrp.foo.org?Martin%20J.%20D%C3%BCrst</pre><p>This example includes a UTF-8 character encoded using hex
escaping.  The value encoded is a u-umlaut (a 'u' with two dots
over it).  This simple query is sent to a server found at
cnrp.foo.org with no parameters.</p></blockquote><p>この例は十六進数逃避を使って符号化された UTF-8 文字を含んでいます。
符号化された値はウムラウト付き <code class="char">u</code>
(<code class="char">u</code> の上に点二つ) です。
この簡単な問合せは <code>cnrp.foo.org</code> にある鯖に引数無しで送られます。</p><blockquote><pre>go://cnrp.foo.com?id=5432345</pre><p>Here only an id is given which means that his example points
directly at a particular common-name record on a particular
server.  This example would probably be found in a link on a web
page of some type.</p></blockquote><p>ここでは <code>id</code> だけが与えられていて、これはこの例が特定の鯖の特定の共通名記録を直接指していることを意味します。
この例はおそらくある型の<a0:anchor>ウェブ頁</a0:anchor>の<a0:anchor>連結</a0:anchor>に見当たります。</p></section><section><h1>6. Security Considerations</h1><blockquote><p>In addition to the security considerations inherent in CNRP itself
(see the Security Considerations section of RFC 3367 [3]), the URI
mechanism can also be used to retrieve a URI identifying some other
site by including just the ID and not the common-name being linked
to.  I.e., the user may think he/she is being shown the URI currently
mapped to the &quot;BMW&quot; common-name but in the case where only the ID is
used the actual common-name is not part of the URI, thus making it
possible to use a CNRP URI without knowing which common-name it is
referring to.</p></blockquote><p>CNRP 自体のそもそもの安全上の考察 (<a0:anchor>RFC 3367</a0:anchor> の安全性についての章を参照)
に加えて、 URI 機構は、連結される ID だけを含んでいて共通名は含まないで他のサイトを識別する URI を取出すためにも使用することができます。
すなわち、利用者は示されている物が現在 <samp>BMW</samp> 共通名に写像されている
URI と考えることができますが、 ID だけが使われている場合には実際の共通名は
URI の一部ではないので、どの共通名を指しているのか知らずに CNRP
URI を使ってしまうことが可能になります。</p></section><section><h1>7. IANA Considerations</h1><blockquote><p>The IANA is asked to register the URL registration template found in
Appendix A in accordance with RFC 2717 [6].</p></blockquote><p>IANA は <a0:anchor>RFC 2717</a0:anchor> に従って附属書 A にある URL 登録雛形を登録して下さい。</p></section><section><h1>References</h1><pre>   [1]  Berners-Lee, T., Fielding, R. and L. Masinter, &quot;Uniform Resource
        Identifiers (URI): Generic Syntax&quot;, RFC 2396, August 1998.</pre><pre>   [2]  Crocker, D., &quot;Augmented BNF for Syntax Specifications: ABNF&quot;,
        RFC 2234, November 1997.</pre><pre>   [3]  Popp, N., Mealling, M. and M. Moseley, &quot;Common Name Resolution
        Protocol (CNRP)&quot;, RFC 3367, August 2002.</pre><pre>   [4]  Bradner, S., &quot;Key words for use in RFCs to Indicate Requirement
        Levels&quot;, BCP 14, RFC 2119, March 1997.</pre><pre>   [5]  The Unicode Consortium, &quot;The Unicode Standard, Version 2.0:
        Appendix A.2&quot;, ISBN 0-201-48345-9, January 1988.</pre><pre>   [6]  Petke, R. and I. King, &quot;Registration Procedures for URL Scheme
        Names&quot;, BCP 35, RFC 2717, November 1999.</pre></section><section><h1>Appendix A. Registration Template</h1><pre>   URL scheme name: go</pre><pre>   URL scheme syntax: Section 3.2</pre><pre>   Character encoding considerations: Section 3.4</pre><pre>   Intended usage: Section 1</pre><pre>   Applications and/or protocols which use this scheme: [3]</pre><pre>   Interoperability considerations: None not specified in [3]</pre><pre>   Security considerations: Section 6</pre><pre>   Relevant publications: [3]</pre><pre>   Contact: CNRP Working Group</pre><pre>   Author/Change Controller: IESG</pre></section><section><h1>Author's Address</h1><pre>   Michael Mealling
   VeriSign, Inc.
   21345 Ridgetop Circle
   Dulles, VA  20170
   US</pre><pre>   Phone: (703) 742-0400
   EMail: michael@verisignlabs.com</pre></section><section><h1>Full Copyright Statement</h1><pre>   Copyright (C) The Internet Society (2002).  All Rights Reserved.</pre><pre>   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.</pre><pre>   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.</pre><pre>   This document and the information contained herein is provided on an
   &quot;AS IS&quot; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</pre></section><section><h1>Acknowledgement</h1><pre>   Funding for the RFC Editor function is currently provided by the
   Internet Society.</pre></section><section><h1>License</h1><p><a0:anchor>RFCのライセンス</a0:anchor>。</p></section><section><h1>メモ</h1></section></body></html>