<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URI</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>の一方または両方を組み合わせたものを、
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI 参照<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">URI reference</rt></rubyb></dfn>といいます。</p><figure class="important"><p><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> 本項は過去の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の用語についてのものです。この用語は現在の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL Standard</anchor>
では定義されておらず、現在の「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>」に相当すると思われます。</p><p>本項の内容は当時の状況を説明したもので、現状とは異なることがあります。</p></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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> 仕様に基づけば、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> とは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URI</anchor>のことであり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対参照</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> ではありませんでした。また <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2396</anchor> 
世代までは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>が含まれると <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> ではありませんでした。
こうした独特の用語法は当時から一般的な理解と著しく乖離しており、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor>
本体以外の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> を参照している仕様の多くも正しく運用できていませんでした。</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> URI「参照」と呼ぶのは、本来の形である<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URI</anchor>を間接的に表現した (参照している)
ものが <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI参照</anchor>であるとの趣旨より来ているようです。</p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI参照</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URI</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>のみです。<figure class="railroad"><ol><li>?<ol><li>|<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URI</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対参照</anchor></li></ol></li></ol></li><li>?<ol><li><code>#</code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor></li></ol></li></ol></figure></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>となることができます (<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="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を含めることはできません。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を認めるよう拡張したのが
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRI参照</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> 派生した、または類似した意味の次の用語がありました。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRI参照</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RDF URI参照</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URI参照</anchor></li></ul></figure></p></section><section><h1>歴史</h1><figure class="quote"><figcaption><p><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> RFC 2396 (URI) 4. URI References</p></figcaption><blockquote><p>The term &quot;URI-reference&quot; is used here to denote the common usage of a resource identifier.  A URI reference may be absolute or relative, and may have additional information attached in the form of a fragment identifier.  However, &quot;the URI&quot; that results from such a reference includes only the absolute URI after the fragment identifier (if any) is removed and after any relative URI is resolved to its absolute form.  Although it is possible to limit the discussion of URI syntax and semantics to that of the absolute result, most usage of URI is within general URI references, and it is impossible to obtain the URI from such a reference without also parsing the fragment and resolving the relative form.</p></blockquote><p>用語 <dfn>URI 参照</dfn>は、ここでは資源識別子の共通の用法を示すのに使います。 URI 参照は絶対でも相対でも構いませんし、追加の情報を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>の形で付け加えてあっても構いません。
しかし、その参照から (あれば) 素片識別子を取り除き、相対 URI を絶対形に解決した結果である「URI」は絶対 URI だけを含みます。その絶対の結果だけに URI の構文と意味の議論を制限することもできますが、ほとんどの URI の用法は一般 URI 参照中であり、そのような参照から素片を解析して相対形を解決することなしに URI を得ることは不可能です。</p><blockquote><ul><li><code class="ABNF"><dfn>URI-reference</dfn> = <em>[</em> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">absoluteURI</anchor> | <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">relativeURI</anchor> <em>]</em> <em>[</em> &quot;#&quot; <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fragment</anchor> <em>]</em> </code></li></ul></blockquote><blockquote><p>The syntax for relative URI is a shortened form of that for absolute
URI, where some prefix of the URI is missing and certain path components (&quot;.&quot; and &quot;..&quot;) have a special meaning when, and only when, interpreting a relative path.  The relative URI syntax is defined in Section 5.</p></blockquote><p>相対 URI の構文は絶対 URI の構文を短縮したもので、
URI の接頭辞の幾つかが欠落しており、
相対経路を解釈する時には、その時に限って、ある種の経路部品
(<code class="URI">.</code> と <code class="URI">..</code>) は特殊な意味を持ちます。
相対 URI 構文は5章で定義しています。</p></figure></section><section><h1>メモ</h1><ul><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> 普段 URI と URI 参照の違いをはっきり区別せずに使っているのは、特別混乱の虞がないし厳密さも必要ではない場合3文字の URI で十分意味が通じますし、そもそも URI 参照という語が導入されたのが遅い (RFC 初出は 2396。) ため比較的知名度が低いためでしょう。</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> 日常的にはその必要はないとはいえ、規格や実装の仕様に言及する場合には URI と URI 参照を区別し、単なる URI には URI 参照ではなく URI であると注記して曖昧さを廃除するのが良いと思います。</li></ul></section></body></html>