RFC 3986//4

RFC 3986//4

4. Usage

When applications make reference to a URI, they do not always use the full form of reference defined by the "URI" syntax rule. To save space and take advantage of hierarchical locality, many Internet protocol elements and media type formats allow an abbreviation of a URI, whereas others restrict the syntax to a particular form of URI. We define the most common forms of reference syntax in this specification because they impact and depend upon the design of the generic syntax, requiring a uniform parsing algorithm in order to be interpreted consistently.

応用は URI への参照を行う際に必ずしも URI 構文規則で定義された完全形の参照を使いません。空間を節約し、 階層的局所性の利点を生かすため、多くのインターネット・プロトコル要素と媒体型書式は URI の省略形を認めており、他のものも URI の特定の形式に構文を制限しています。 この仕様書では参照の構文のもっとも一般的な形を定義します。 それらは一貫した解釈のために統一された構文解析法が必要であり、 一般的構文の設計に影響・依存しているからです。

4.1. URI Reference

URI-reference is used to denote the most common usage of a resource identifier.

URI-reference は資源識別子のもっとも普通な用法を示します。

A URI-reference is either a URI or a relative reference. If the URI-reference's prefix does not match the syntax of a scheme followed by its colon separator, then the URI-reference is a relative reference.

URI-reference は URI か相対参照です。 URI-reference の最初の部分が scheme でその後にコロン分離子という構文に一致しなければ、その URI-reference は相対参照です。

A URI-reference is typically parsed first into the five URI components, in order to determine what components are present and whether the reference is relative. Then, each component is parsed for its subparts and their validation. The ABNF of URI-reference, along with the "first-match-wins" disambiguation rule, is sufficient to define a validating parser for the generic syntax. Readers familiar with regular expressions should see Appendix B for an example of a non-validating URI-reference parser that will take any given string and extract the URI components.

URI-reference は普通最初に5つの URI の部品に分けて、どの部品が存在しているかや参照が相対かどうかを決定します。 それから、各部品を更に部分に分けて検証します。 URI-reference の ABNF と曖昧な時は早いもの勝ちの規則により、 一般構文の検証構文解析器を定義することができます。 正規表現に詳しい読者は附属書 B の与えられた文字列から URI 部品を取り出す非検証 URI-reference 構文解析器の例を見てください。

4.2. Relative Reference

A relative reference takes advantage of the hierarchical syntax (Section 1.2.3) to express a URI reference relative to the name space of another hierarchical URI.

相対参照は階層的構文の利点を生かして URI 参照を他の階層的 URI の名前空間と相対的に表現します。

The URI referred to by a relative reference, also known as the target URI, is obtained by applying the reference resolution algorithm of Section 5.

相対参照で参照される URI は、対象 URI とも呼ばれますが、 5章の参照解決法を適用することによって得られます。

A relative reference that begins with two slash characters is termed a network-path reference; such references are rarely used. A relative reference that begins with a single slash character is termed an absolute-path reference. A relative reference that does not begin with a slash character is termed a relative-path reference.

斜線文字2つで始まる相対参照はネットワーク経路参照と呼びます。 この種類の参照はあまり使われません。斜線文字1つで始まる相対参照は完全経路参照と呼びます。 斜線文字で始まらない相対参照は相対経路参照と呼びます。

A path segment that contains a colon character (e.g., "this:that") cannot be used as the first segment of a relative-path reference, as it would be mistaken for a scheme name. Such a segment must be preceded by a dot-segment (e.g., "./this:that") to make a relative-path reference.

コロン文字を含む path segment (例えば this:that) は scheme 名と誤解されますから相対経路参照の最初の segment として使うことはできません。 コロン文字を含む segment の前に点部分を付けなければ相対経路参照にはなりません (例: ./this:that)。

4.3. Absolute URI

Some protocol elements allow only the absolute form of a URI without a fragment identifier. For example, defining a base URI for later use by relative references calls for an absolute-URI syntax rule that does not allow a fragment.

プロトコル要素によっては素片識別子なしの URI の絶対形だけを認めています。 例えば、あとで相対参照に使うための基底 URI を定義するために素片識別子を認めない absolute-URI 構文規則が必要です。

URI scheme specifications must define their own syntax so that all strings matching their scheme-specific syntax will also match the <absolute-URI> grammar. Scheme specifications will not define fragment identifier syntax or usage, regardless of its applicability to resources identifiable via that scheme, as fragment identification is orthogonal to scheme definition. However, scheme specifications are encouraged to include a wide range of examples, including examples that show use of the scheme's URIs with fragment identifiers when such usage is appropriate.

URI scheme 仕様は scheme 規定の構文に一致する文字列がすべて absolute-URI 文法にも一致するように定義しなければなりません。 素片識別子は scheme 定義とは直交しますから、 scheme 仕様はその scheme によって識別できる資源への適用可能性に関わらず、 素片識別子の構文や用法を定義することはありません。しかし、 scheme 仕様は様々な例を挙げることが推奨され、 素片識別子付き URI が用法として適当であればそれも例として含めるのがよいでしょう。

4.4. Same-Document Reference

When a URI reference refers to a URI that is, aside from its fragment component (if any), identical to the base URI (Section 5.1), that reference is called a "same-document" reference. The most frequent examples of same-document references are relative references that are empty or include only the number sign ("#") separator followed by a fragment identifier.

あるURI 参照が素片識別子は (あったとしても) 別にして基底 URI と同一な URI を参照しているなら、その参照は同文書参照と呼びます。 最もよく使われる同文書参照は、空か、または分離子の数字符 (#) とその後の素片識別子だけの相対参照です。

When a same-document reference is dereferenced for a retrieval action, the target of that reference is defined to be within the same entity (representation, document, or message) as the reference; therefore, a dereference should not result in a new retrieval action.

同文書参照の参照を取出し動作で解く時には、その参照の対象は参照と同じ実体 (表現、文書、メッセージ) と定義します。従って、 参照を解くことによって新たな取出し動作は行われません。

Normalization of the base and target URIs prior to their comparison, as described in Sections 6.2.2 and 6.2.3, is allowed but rarely performed in practice. Normalization may increase the set of same-document references, which may be of benefit to some caching applications. As such, reference authors should not assume that a slightly different, though equivalent, reference URI will (or will not) be interpreted as a same-document reference by any given application.

比較前に基底 URI と対象 URI の正規化を6.2.2節・6.2.3節により行うことは認められますが、 実際には滅多に行われません。正規化によって同文書参照となるものは増えますから、 キャッシュ付け応用には有益であるかもしれません。ですから、 参照著者は甚だ異なれども同値な参照 URI が特定の応用によって同文書参照として解釈されること (やされないこと) を仮定するべきではありません。

4.5. Suffix Reference

The URI syntax is designed for unambiguous reference to resources and extensibility via the URI scheme. However, as URI identification and usage have become commonplace, traditional media (television, radio, newspapers, billboards, etc.) have increasingly used a suffix of the URI as a reference, consisting of only the authority and path portions of the URI, such as

URI 構文は URI scheme によって資源を曖昧なく参照でき、かつ拡張可能であるように設計されています。 しかし、 URI の識別や使用が一般的になるにつれ、伝統的媒体 (テレビ、ラジオ、新聞、掲示板など) は URI の後方の authoritypath の部分だけを

      www.w3.org/Addressing/

or simply a DNS registered name on its own. Such references are primarily intended for human interpretation rather than for machines, with the assumption that context-based heuristics are sufficient to complete the URI (e.g., most registered names beginning with "www" are likely to have a URI prefix of "http://"). Although there is no standard set of heuristics for disambiguating a URI suffix, many client implementations allow them to be entered by the user and heuristically resolved.

のように使ったり、単純に DNS 登録名だけを使ったりするようになってきました。 この種の参照は主として機械ではなく人間が解釈することを考えており、 URI として完成させるための文脈による発見的方法 (例えば www で始まる登録名はほとんどが URI としては http:// で始まるであろうという方法) で十分であるとの仮定が置かれています。 URI 接尾辞の曖昧さをなくす発見的方法の標準的な集合のようなものはありませんが、 多くのクライアント実装は利用者が URI 接尾辞を入力することを認め、 発見的に解決しています。

Although this practice of using suffix references is common, it should be avoided whenever possible and should never be used in situations where long-term references are expected. The heuristics noted above will change over time, particularly when a new URI scheme becomes popular, and are often incorrect when used out of context. Furthermore, they can lead to security issues along the lines of those described in [RFC1535].

この接尾辞参照の方法はよく使われていますが、 可能な限りは避け、特に長期間にわたって参照されることが期待される状況では決して使用しないべきであります。 前述の発見的方法は時間の経過により、特に新しい URI scheme がよく使われるようになった時には変わってしまいますし、 文脈外で使用したときにはしばしば間違ってしまいます。 更に、 RFC 1535 で説明されている線に沿った安全上の問題を招くこともあります。

As a URI suffix has the same syntax as a relative-path reference, a suffix reference cannot be used in contexts where a relative reference is expected. As a result, suffix references are limited to places where there is no defined base URI, such as dialog boxes and off-line advertisements.

URI 接尾辞は相対経路参照と同じ構文ですが、接尾辞参照は相対参照が期待されている文脈では使用することができません。 従って、接尾辞参照は既定の基底 URI が定義されていない、対話箱や線外広告のような場所に制限されます。

License

RFCのライセンス

メモ