Internationalized Resource Identifiers (IRIs)
RFC 3987
Document | Type |
RFC - Proposed Standard
(January 2005; Errata)
Was draft-duerst-iri (individual in app area)
|
|
---|---|---|---|
Authors | Martin Duerst , Michel Suignard | ||
Last updated | 2020-01-21 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 3987 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Ted Hardie | ||
Send notices to | <mduerst@w3.org> |
Network Working Group M. Duerst Request for Comments: 3987 W3C Category: Standards Track M. Suignard Microsoft Corporation January 2005 Internationalized Resource Identifiers (IRIs) Status of This Memo 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 "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document defines a new protocol element, the Internationalized Resource Identifier (IRI), as a complement to the Uniform Resource Identifier (URI). An IRI is a sequence of characters from the Universal Character Set (Unicode/ISO 10646). A mapping from IRIs to URIs is defined, which means that IRIs can be used instead of URIs, where appropriate, to identify resources. The approach of defining a new protocol element was chosen instead of extending or changing the definition of URIs. This was done in order to allow a clear distinction and to avoid incompatibilities with existing software. Guidelines are provided for the use and deployment of IRIs in various protocols, formats, and software components that currently deal with URIs. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Overview and Motivation . . . . . . . . . . . . . . . . 3 1.2. Applicability . . . . . . . . . . . . . . . . . . . . . 3 1.3. Definitions . . . . . . . . . . . . . . . . . . . . . . 4 1.4. Notation . . . . . . . . . . . . . . . . . . . . . . . . 5 2. IRI Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1. Summary of IRI Syntax . . . . . . . . . . . . . . . . . 6 2.2. ABNF for IRI References and IRIs . . . . . . . . . . . . 7 Duerst & Suignard Standards Track [Page 1] RFC 3987 Internationalized Resource Identifiers January 2005 3. Relationship between IRIs and URIs . . . . . . . . . . . . . . 10 3.1. Mapping of IRIs to URIs . . . . . . . . . . . . . . . . 10 3.2. Converting URIs to IRIs . . . . . . . . . . . . . . . . 14 3.2.1. Examples . . . . . . . . . . . . . . . . . . . . 15 4. Bidirectional IRIs for Right-to-Left Languages. . . . . . . . 16 4.1. Logical Storage and Visual Presentation . . . . . . . . 17 4.2. Bidi IRI Structure . . . . . . . . . . . . . . . . . . . 18 4.3. Input of Bidi IRIs . . . . . . . . . . . . . . . . . . . 19 4.4. Examples . . . . . . . . . . . . . . . . . . . . . . . . 19 5. Normalization and Comparison . . . . . . . . . . . . . . . . . 21 5.1. Equivalence . . . . . . . . . . . . . . . . . . . . . . 22 5.2. Preparation for Comparison . . . . . . . . . . . . . . . 22 5.3. Comparison Ladder . . . . . . . . . . . . . . . . . . . 23 5.3.1. Simple String Comparison . . . . . . . . . . . . 23 5.3.2. Syntax-Based Normalization . . . . . . . . . . . 24 5.3.3. Scheme-Based Normalization . . . . . . . . . . . 27 5.3.4. Protocol-Based Normalization . . . . . . . . . . 28 6. Use of IRIs . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.1. Limitations on UCS Characters Allowed in IRIs . . . . . 29 6.2. Software Interfaces and Protocols . . . . . . . . . . . 29 6.3. Format of URIs and IRIs in Documents and Protocols . . . 30 6.4. Use of UTF-8 for Encoding Original Characters .. . . . . 30 6.5. Relative IRI References . . . . . . . . . . . . . . . . 32 7. URI/IRI Processing Guidelines (informative) . . . . . . . . . 32 7.1. URI/IRI Software Interfaces . . . . . . . . . . . . . . 32 7.2. URI/IRI Entry . . . . . . . . . . . . . . . . . . . . . 33 7.3. URI/IRI Transfer between Applications . . . . . . . . . 33 7.4. URI/IRI Generation . . . . . . . . . . . . . . . . . . . 34 7.5. URI/IRI Selection . . . . . . . . . . . . . . . . . . . 34 7.6. Display of URIs/IRIs . . . . . . . . . . . . . . . . . . 35 7.7. Interpretation of URIs and IRIs . . . . . . . . . . . . 36 7.8. Upgrading Strategy . . . . . . . . . . . . . . . . . . . 36 8. Security Considerations . . . . . . . . . . . . . . . . . . . 37 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 39 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 40 10.1. Normative References . . . . . . . . . . . . . . . . . . 40Show full document text