[1] [[絶対URI]]または[[相対参照]]と[[素片識別子]]の一方または両方を組み合わせたものを、 [DFN[[RUBYB[URI 参照]@en[URI reference]]]]といいます。 [FIG(important)[ [4] 本項は過去の [[URL]] の用語についてのものです。この用語は現在の [[URL Standard]] では定義されておらず、現在の「[[URL]]」に相当すると思われます。 本項の内容は当時の状況を説明したもので、現状とは異なることがあります。 ]FIG] [7] [[URI]] 仕様に基づけば、 [[URI]] とは[[絶対URI]]のことであり、 [[相対参照]]は [[URI]] ではありませんでした。また [[RFC 2396]] 世代までは[[素片識別子]]が含まれると [[URI]] ではありませんでした。 こうした独特の用語法は当時から一般的な理解と著しく乖離しており、 [[URI]] 本体以外の [[URI]] を参照している仕様の多くも正しく運用できていませんでした。 [8] URI「参照」と呼ぶのは、本来の形である[[絶対URI]]を間接的に表現した (参照している) ものが [[URI参照]]であるとの趣旨より来ているようです。 * 構文 [9] [[URI参照]]は、[[絶対URI]]または[[相対参照]]か、それに[[素片識別子]]を加えたものか、 [[素片識別子]]のみです。 [FIG(railroad)[ = ? == | === [[絶対URI]] === [[相対参照]] = ? == [CODE[#]] == [[素片識別子]] ]FIG] [10] 全体が[[空文字列]]となることができます ([[同文書参照]])。 [11] [[非ASCII文字]]を含めることはできません。[[非ASCII文字]]を認めるよう拡張したのが [[IRI参照]]です。 * バリエーション [6] 派生した、または類似した意味の次の用語がありました。 [FIG(short list)[ - [[IRI参照]] - [[RDF URI参照]] - [[絶対URI参照]] ]FIG] * 歴史 [FIG(quote)[ [FIGCAPTION[ [5] RFC 2396 (URI) 4. URI References ]FIGCAPTION] > The term "URI-reference" 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, "the URI" 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. 用語 [DFN[URI 参照]]は、ここでは資源識別子の共通の用法を示すのに使います。 URI 参照は絶対でも相対でも構いませんし、追加の情報を[[素片識別子]]の形で付け加えてあっても構いません。 しかし、その参照から (あれば) 素片識別子を取り除き、相対 URI を絶対形に解決した結果である「URI」は絶対 URI だけを含みます。その絶対の結果だけに URI の構文と意味の議論を制限することもできますが、ほとんどの URI の用法は一般 URI 参照中であり、そのような参照から素片を解析して相対形を解決することなしに URI を得ることは不可能です。 > -[CODE(ABNF)[[DFN[URI-reference]] = ''['' [[absoluteURI]] | [[relativeURI]] '']'' ''['' "#" [[fragment]] '']'' ]] > 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 ("." and "..") have a special meaning when, and only when, interpreting a relative path. The relative URI syntax is defined in Section 5. 相対 URI の構文は絶対 URI の構文を短縮したもので、 URI の接頭辞の幾つかが欠落しており、 相対経路を解釈する時には、その時に限って、ある種の経路部品 ([CODE(URI)[.]] と [CODE(URI)[..]]) は特殊な意味を持ちます。 相対 URI 構文は5章で定義しています。 ]FIG] * メモ - [2] 普段 URI と URI 参照の違いをはっきり区別せずに使っているのは、特別混乱の虞がないし厳密さも必要ではない場合3文字の URI で十分意味が通じますし、そもそも URI 参照という語が導入されたのが遅い (RFC 初出は 2396。) ため比較的知名度が低いためでしょう。 - [3] 日常的にはその必要はないとはいえ、規格や実装の仕様に言及する場合には URI と URI 参照を区別し、単なる URI には URI 参照ではなく URI であると注記して曖昧さを廃除するのが良いと思います。