Generated by DeepSeek V3.2| Internationalized Resource Identifiers | |
|---|---|
| Title | Internationalized Resource Identifiers |
| Status | Internet Standard |
| Series | RFC 3987 |
| Year start | 2005 |
| Organization | Internet Engineering Task Force |
| Committee | Internet Engineering Steering Group |
| Base standards | Uniform Resource Identifier |
| Related standards | Internationalized Domain Name, Unicode |
| Abbreviation | IRI |
| Domain | Internet |
Internationalized Resource Identifiers. An Internationalized Resource Identifier is a protocol element that extends the syntax of the Uniform Resource Identifier to support characters from the Universal Character Set, enabling the identification of resources using a vast array of the world's languages and scripts. Defined by the Internet Engineering Task Force in RFC 3987, it is a critical component for the globalization of the World Wide Web, allowing for the use of non-ASCII characters in identifiers that were previously restricted. The standard facilitates more intuitive and accessible resource naming for users worldwide, impacting technologies like Hypertext Transfer Protocol and the Domain Name System.
The primary purpose is to overcome the linguistic limitations inherent in traditional Uniform Resource Identifier syntax, which was restricted to a limited subset of ASCII. This expansion is essential for the full internationalization of the World Wide Web, as championed by organizations like the World Wide Web Consortium. It allows resources to be identified using characters from native scripts such as Arabic, Cyrillic, Devanagari, and Han, among many others within the Unicode standard. The development was driven by the need for a consistent, interoperable method to handle such identifiers across different internet protocols and applications, from web browsers to search engines.
The syntax is defined as an extension of the Uniform Resource Identifier grammar specified in RFC 3986, with modifications to the production rules for the ireg-name and query components. A key operation is the conversion between an Internationalized Resource Identifier and a Uniform Resource Identifier, which involves mapping Unicode characters to sequences of percent-encoding bytes according to the UTF-8 encoding scheme. The components, such as scheme, authority, path, and fragment, align with those of a Uniform Resource Identifier but permit a much broader character repertoire. This design ensures backward compatibility with existing internet infrastructure while enabling global use.
The most fundamental distinction is the character set: while a Uniform Resource Identifier is a sequence of characters from the ASCII set, an Internationalized Resource Identifier is a sequence of characters from the Universal Character Set. In practice, any valid Uniform Resource Identifier is also a valid Internationalized Resource Identifier, but the converse is not true without conversion. This relationship is formalized in the RFC, which specifies a deterministic mapping protocol. The comparison is often discussed in the context of other identifier standards like Internationalized Domain Name and Extensible Resource Identifier.
Internationalization is achieved through the mandatory use of the Unicode standard and the UTF-8 character encoding for conversion and processing. This approach was standardized by the Internet Engineering Task Force and aligns with the work of the Unicode Consortium. The process ensures that characters from scripts like Greek, Hebrew, Hangul, and Thai script can be consistently represented. A critical aspect is the handling of normalization forms to avoid different Unicode sequences representing the same visual string, a concern addressed in documents like RFC 3987 and related work on Internationalized Domain Name.
Widespread implementation began in the mid-2000s within major web browsers such as Mozilla Firefox, Google Chrome, and Microsoft Edge. Support is also integral to modern web servers like Apache HTTP Server and Nginx, and programming language libraries including those for Python and Java. A common use case is in Uniform Resource Locators displayed in the address bar, allowing users to see paths and query strings in their native language. The technology is foundational for global platforms like Wikipedia, Google Search, and Baidu, which utilize it to serve content across diverse linguistic regions.
The standard was formally published as RFC 3987 in January 2005, authored by Martin Dürst and Michel Suignard, following extensive work within the Internet Engineering Task Force. Its development was closely related to and informed by earlier efforts on Internationalized Domain Name and the World Wide Web Consortium's work on Internationalization Tag Set. The history is intertwined with the broader evolution of the Internet protocol suite and the push for a multilingual internet, a goal also advanced by bodies like the International Telecommunication Union. It stands as a key milestone in making the World Wide Web truly global.
Category:Internet standards Category:Identifiers Category:World Wide Web Consortium standards