RFC 3987//6

RFC 3987//6

[1] RFC 3987IETF の手続き上は現行の提案標準ですが、 事実上 URL Standard により廃止されています。

6. Use of IRIs

6.1. Limitations on UCS Characters Allowed in IRIs

This section discusses limitations on characters and character sequences usable for IRIs beyond those given in section 2.2 and section 4.1. The considerations in this section are relevant when IRIs are created and when URIs are converted to IRIs.

この章では IRI で使うことのできる文字文字列についての 2.2節や4.1節の説明以上の制限について議論します。 この章の考察は IRI を作る時や URIIRI に変換する時に関係します。

a. The repertoire of characters allowed in each IRI component is limited by the definition of that component. For example, the definition of the scheme component does not allow characters beyond US-ASCII.

IRI の各部品で認められる文字レパートリはその部品の定義により制限されます。 例えば、 scheme 部品の定義は US-ASCII 外の文字を認めていません。

(Note: In accordance with URI practice, generic IRI software cannot and should not check for such limitations.)

(注意: URI の慣習では一般の IRI ソフトウェアはこの種の制限を検査することはできませんし、 するべきでもありません。)

b. The UCS contains many areas of characters for which there are strong visual look-alikes. Because of the likelihood of transcription errors, these also should be avoided. This includes the full-width equivalents of Latin characters, half-width Katakana characters for Japanese, and many others. It also includes many look-alikes of "space", "delims", and "unwise", characters excluded in [RFC3491].

UCS には見た目がよく似た文字が多くあります。 そのような文字は転記時に誤りやすいので避けるべきです。 これには日本語で使う全角版のラテン文字半角片仮名をはじめ、 他にも多くが含まれます。 RFC 3491 で除外されているよく似た間隔, 区切, 賢くない文字も含まれます。

Additional information is available from [UNIXML]. [UNIXML] is written in the context of running text rather than in that of identifiers. Nevertheless, it discusses many of the categories of characters not appropriate for IRIs.

追加情報が UNIXML から得られます。 UNIXML は識別子ではなく普通の文章について書かれています。しかし、 IRI で不適切な文字の分類の多くについて議論しています。

6.2. Software Interfaces and Protocols

Although an IRI is defined as a sequence of characters, software interfaces for URIs typically function on sequences of octets or other kinds of code units. Thus, software interfaces and protocols MUST define which character encoding is used.

IRI文字の列として定義されていますが、 URI のソフトウェア界面はオクテット列やその他の符号単位列に機能するのが普通です。 ですから、ソフトウェア界面やプロトコルは使用する文字符号化を定義しなければなりません

Intermediate software interfaces between IRI-capable components and URI-only components MUST map the IRIs per section 3.1, when transferring from IRI-capable to URI-only components. This mapping SHOULD be applied as late as possible. It SHOULD NOT be applied between components that are known to be able to handle IRIs.

IRI が使える部品と URI だけの部品の媒介となるソフトウェア界面は IRI が使える部品から URI だけの部品に転送する時は 3.1節に従って IRI を写像しなければなりません。 この写像は可能な限り後の段階で適用するべきですIRI を扱うことができるとわかっている部品間で適用するべきではありません

6.3. Format of URIs and IRIs in Documents and Protocols

Document formats that transport URIs may have to be upgraded to allow the transport of IRIs. In cases where the document as a whole has a native character encoding, IRIs MUST also be encoded in this character encoding and converted accordingly by a parser or interpreter. IRI characters not expressible in the native character encoding SHOULD be escaped by using the escaping conventions of the document format if such conventions are available. Alternatively, they MAY be percent-encoded according to section 3.1. For example, in HTML or XML, numeric character references SHOULD be used. If a document as a whole has a native character encoding and that character encoding is not UTF-8, then IRIs MUST NOT be placed into the document in the UTF-8 character encoding.

URI を輸送する文書書式は IRI を輸送できるように更新しなければならないかもしれません。 文書が全体として文字符号化が決められる場合には IRI もその文字符号化符号化し、 構文解析器か解釈器でそれに従って変換しなければなりません。 その文字符号化で表現できない IRI文字は、 その文書書式に逃避表現法があれば、それを使って逃避するべきです。 代わりに3.1節に従って百分率符号化しても構いません。 例えば、 HTMLXML では数値文字参照を使うべきです文書が全体として文字符号化が決められる場合であって、 その文字符号化UTF-8 でない場合は、 IRI文書中に UTF-8 文字符号化で入れてはなりません

Note: Some formats already accommodate IRIs, although they use different terminology. HTML 4.0 [HTML4] defines the conversion from IRIs to URIs as error-avoiding behavior. XML 1.0 [XML1], XLink [XLink], XML Schema [XMLSchema], and specifications based upon them allow IRIs. Also, it is expected that all relevant new W3C formats and protocols will be required to handle IRIs [CharMod].

注意: 幾つかの書式は IRI を採用しています (違った用語を使っていることもありますが)。 HTML 4.0 は誤り回復動作として IRI から URI への変換を定義しています。 XML 1.0, XLink, XML Schema やこれらを基にした仕様は IRI を認めています。また、 W3C のすべての関係する新しい書式やプロトコルは IRI を扱えることが要求されることが期待されます。

6.4. Use of UTF-8 for Encoding Original Characters

This section discusses details and gives examples for point c) in section 1.2. To be able to use IRIs, the URI corresponding to the IRI in question has to encode original characters into octets by using UTF-8. This can be specified for all URIs of a URI scheme or can apply to individual URIs for schemes that do not specify how to encode original characters. It can apply to the whole URI, or only to some part. For background information on encoding characters into URIs, see also section 2.5 of [RFC3986].

この章は1.2節の c) についての詳細と例を示します。 IRI を使うことができるためには、ある IRI に対応する URI は元の文字UTF-8 を使ってオクテット符号化しなければなりません。 これはある URI scheme のすべての URI に対して規定することもできますし、 元の文字をどう符号化するか規定していない URI scheme の個々の URI に適用することもできます。 URI 全体に適用することもできますし、一部分のみに適用することもできます。 文字URI符号化する際の背景情報は RFC 3986 の2.5節もご覧下さい。

For new URI schemes, using UTF-8 is recommended in [RFC2718]. Examples where UTF-8 is already used are the URN syntax [RFC2141], IMAP URLs [RFC2192], and POP URLs [RFC2384]. On the other hand, because the HTTP URL scheme does not specify how to encode original characters, only some HTTP URLs can have corresponding but different IRIs.

新しい URI scheme では UTF-8 を使うことが RFC 2718 で推奨されています。例えば URN 構文や IMAP URLPOP URL で既に UTF-8 が使われています。 一方で HTTP URL scheme は元の文字をどう符号化するか規定していませんから、 一部の HTTP URL だけしか対応する異なる IRI を持つことはできません。

For example, for a document with a URI of "http://www.example.org/r%C3%A9sum%C3%A9.html", it is possible to construct a corresponding IRI (in XML notation, see, section 1.4): "http://www.example.org/résumé.html" ("&#xE9"; stands for the e-acute character, and "%C3%A9" is the UTF-8 encoded and percent-encoded representation of that character). On the other hand, for a document with a URI of "http://www.example.org/r%E9sum%E9.html", the percent-encoding octets cannot be converted to actual characters in an IRI, as the percent-encoding is not based on UTF-8.

例えば、 URIhttp://www.example.org/r%C3%A9sum%C3%A9.html文書で、対応する IRI を (1.4節の XML の記法で) http://www.example.org/résumé.html と構築することが可能です (éアキュート・アクセント付きラテン文字 e を表し、 %C3%A9 はこの文字を UTF-8符号化して百分率符号化した表現です)。しかし URIhttp://www.example.org/r%E9sum%E9.html文書では、 百分率符号化されたオクテットUTF-8 に基づいていないので、これを IRI で実際の文字に変換することはできません。

This means that for most URI schemes, there is no need to upgrade their scheme definition in order for them to work with IRIs. The main case where upgrading makes sense is when a scheme definition, or a particular component of a scheme, is strictly limited to the use of US-ASCII characters with no provision to include non-ASCII characters/octets via percent-encoding, or if a scheme definition currently uses highly scheme-specific provisions for the encoding of non-ASCII characters. An example of this is the mailto: scheme [RFC2368].

これはほとんどの URI scheme において IRI が機能するように scheme の定義を更新する必要がないことを意味しています。 Scheme の定義を更新することに意味がある場合というのは主として scheme の定義や scheme の特定の部品が厳密に US-ASCII 文字に制限していて非 ASCII 文字オクテット百分率符号化によって含めることができない場合や、 scheme の定義が現在 scheme 規定の方法で非 ASCII 文字符号化を定めている場合です。この例に mailto: scheme があります。

This specification does not upgrade any scheme specifications in any way; this has to be done separately. Also, note that there is no such thing as an "IRI scheme"; all IRIs use URI schemes, and all URI schemes can be used with IRIs, even though in some cases only by using URIs directly as IRIs, without any conversion.

この仕様はどの scheme 仕様をも更新しません。更新は別途行われなければなりません。 また、IRI scheme のようなものがないことにも注意して下さい。 すべての IRIURI scheme を使い、すべての URI schemeIRI で使うことができます。場合によっては URI を無変換で IRI として使うしか方法がないこともありますが。

URI schemes can impose restrictions on the syntax of scheme-specific URIs; i.e., URIs that are admissible under the generic URI syntax [RFC3986] may not be admissible due to narrower syntactic constraints imposed by a URI scheme specification. URI scheme definitions cannot broaden the syntactic restrictions of the generic URI syntax; otherwise, it would be possible to generate URIs that satisfied the scheme-specific syntactic constraints without satisfying the syntactic constraints of the generic URI syntax. However, additional syntactic constraints imposed by URI scheme specifications are applicable to IRI, as the corresponding URI resulting from the mapping defined in section 3.1 MUST be a valid URI under the syntactic restrictions of generic URI syntax and any narrower restrictions imposed by the corresponding URI scheme specification.

URI scheme はその scheme の URI の構文に制限を課すことができます。 つまり一般 URI 構文では認められる URI が特定の URI scheme 仕様によって課される狭められた構文的制約の下では認められないかもしれません。 URI scheme の定義は一般 URI 構文の構文的制限を緩めることはできません。 そうでなければ URI scheme 規定の構文的制約は満足するのに一般 URI 構文の構文的制約を満足しない URI が生成できてしまいます。 しかし、 URI scheme の仕様で課される追加の構文的制約は IRI にも適用され、3.1節で定義した写像の結果の対応する URI は一般 URI 構文の構文的制限及び対応する URI scheme の仕様で課された制限の下で妥当な URI でなければなりません

The requirement for the use of UTF-8 applies to all parts of a URI (with the potential exception of the ireg-name part; see section 3.1). However, it is possible that the capability of IRIs to represent a wide range of characters directly is used just in some parts of the IRI (or IRI reference). The other parts of the IRI may only contain US-ASCII characters, or they may not be based on UTF-8. They may be based on another character encoding, or they may directly encode raw binary data (see also [RFC2397]).

UTF-8 を使うという要件は URI のすべての部分に適用されます (ただし ireg-name 部は例外となり得ます)。 しかし、広範囲の文字を直接表現できる IRI の能力を使うのは IRI (や IRI参照) の一部分のみとすることも可能です。 IRI のほかの部分は US-ASCII 文字だけを含むのでも構いませんし、 UTF-8 に基づかなくても構いません。他の文字符号化に基づいていても構いませんし、 生のバイナリ・データを直接符号化しても構いません。

For example, it is possible to have a URI reference of "http://www.example.org/r%E9sum%E9.xml#r%C3%A9sum%C3%A9", where the document name is encoded in iso-8859-1 based on server settings, but where the fragment identifier is encoded in UTF-8 according to [XPointer]. The IRI corresponding to the above URI would be (in XML notation) "http://www.example.org/r%E9sum%E9.xml#résum&#xE9";.

例えば、 http://www.example.org/r%E9sum%E9.xml#r%C3%A9sum%C3%A9 のように文書の名前はの設定に基づき iso-8859-1符号化し、素片識別子XPointer に従い UTF-8符号化した URI参照もあり得ます。この URI に対応する IRI は (XML の記法で) http://www.example.org/r%E9sum%E9.xml#résumé となります。

Similar considerations apply to query parts. The functionality of IRIs (namely, to be able to include non-ASCII characters) can only be used if the query part is encoded in UTF-8.

同様のことが照会部にも言えます。 IRI の機能 (すなわち非 ASCII 文字を含められること) は照会部が UTF-8符号化されている時のみ使えます。

6.5. Relative IRI References

Processing of relative IRI references against a base is handled straightforwardly; the algorithms of [RFC3986] can be applied directly, treating the characters additionally allowed in IRI references in the same way that unreserved characters are in URI references.

基底に対する相対IRI参照の処理はそのまま行います。 RFC 3986 の算法で IRI参照が認めている追加の文字URI参照非予約文字と同じように扱うことで直接適用できます。

License

RFCのライセンス

メモ