A uniform resource identifier (URI) is a uniform resource locator (URL), uniform resource name (URN), or both.
A uniform resource name (URN) is the historical name for a uniform resource identifier (URI) that uses the urn:
scheme.
Defined in 1997 in RFC 2141, URNs were intended to serve as persistent, location-independent identifiers for resources, allowing the simple mapping of namespaces into a single URN namespace. The existence of such a URI does not imply availability of the identified resource, but such URIs are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable.
Since RFC 3986 in 2005, the use of the term has been deprecated in favor of the less-restrictive "URI", a view proposed by a joint working group between the W3C and IETF. Both URNs (names) and URLs (locators) are URIs, and a particular URI may be a name and a locator at the same time.
URNs were originally intended in the 1990s to be part of a three-part information architecture for the Internet, along with URLs and URCs, a metadata framework. However, URCs never progressed past the conceptual stage, and other technologies such as the Resource Description Framework later took their place.
Syntax
The syntax of URNs, in Backus-Naur form, is:
<URN> ::= "urn:" <NID> ":" <NSS>
This renders as:
urn:<NID>:<NSS>
The leading urn:
sequence is case-insensitive. <NID>
is the namespace identifier, which determines the syntactic interpretation of <NSS>
, the namespace-specific string. The functional requirements for uniform resource names are described in RFC 1737.
Namespaces
In order to ensure the global uniqueness of URN namespaces, their identifiers (NIDs) are required to be registered with the IANA. Registered namespaces may be "formal" or "informal". An exception to the registration requirement is made for "experimental namespaces".
Formal
Formal namespaces are those where some Internet users are expected to benefit from their publication, and are subject to several restrictions. They must not:
- be an already-registered NID
- start with
x-
(see "Experimental namespaces", below) - start with
urn-
- start with
XY-
, where XY is any combination of two ASCII letters - be more than two letters long.
Informal
Informal namespaces are registered with IANA and assigned a number sequence (chosen by IANA on a first-come-first-served basis) as an identifier, in the format
"urn-" <number>
Informal namespaces are fully fledged URN namespaces and can be registered in global registration services.
Experimental
Experimental namespaces take the form
"X-" <NID>
Namespaces of this form are intended only for use within internal or limited experimental contexts, and are not required or expected to be globally unique.
Examples
URN | corresponds to |
---|
urn:isbn:0451450523 | The 1968 book The Last Unicorn, identified by its book number. |
urn:isan:0000-0000-9E59-0000-O-0000-0 000-2 | The 2002 film Spider-Man, identified by its audiovisual number. |
urn:issn:0167-6423 | The scientific journal Science of Computer Programming, identified by its serial number. |
urn:ietf:rfc:2648 | The IETF's RFC 2648. |
urn:mpeg:mpeg7:schema:2001 | The default namespace rules for MPEG-7 video metadata. |
urn:oid:2.16.840 | The OID for the United States. |
urn:uuid:6e8bc430-9c3a-11d9-9669-0800 200c9a66 | A version 1 UUID. |
urn:nbn:de:bvb:19-146642 | A National Bibliography Number for a document, indicating country (de ), regional network (bvb = Bibliotheksverbund Bayern), library number (19) and document number. |
urn:lex:eu:council:directive:2010-03- 09;2010-19-UE | A directive of the European Union, using the Lex URN namespace. |
Resolvers
A URN resolver is responsible for initiating and sequencing the queries that ultimately lead to a full resolution (translation) of a URN name or a "resolution request", e.g., a request for translation of a URN name into a URL.
An example server-side URN resolver: see RFC 2169.
Absence of DOI namespace
The maintainers of the digital object identifier (DOI) system have deliberately not registered a DOI namespace for URNs, stating that:
URN architecture assumes a DNS-based Resolution Discovery Service (RDS) to find the service appropriate to the given URN scheme. However no such widely deployed RDS schemes currently exist.... DOI is not registered as a URN namespace, despite fulfilling all the functional requirements, since URN registration appears to offer no advantage to the DOI System. It requires an additional layer of administration for defining DOI as a URN namespace (the string urn:doi:10.1000/1 rather than the simpler doi:10.1000/1) and an additional step of unnecessary redirection to access the resolution service, already achieved through either http proxy or native resolution. If RDS mechanisms supporting URN specifications become widely available, DOI will be registered as a URN.
— International DOI Foundation, Factsheet: DOI System and Internet Identifier Specifications
References
Citations
- Sollins, Karen; Masinter, Larry (December 1994). "Request for Comments: 1737: Functional Requirements for Uniform Resource Names". IETF. http://tools.ietf.org/html/rfc1737. Retrieved 2012-12-07.
- Moats, Ryan (May 1997). "Request for Comments: 2141: URN Syntax". IETF. http://tools.ietf.org/html/rfc2141. Retrieved 2012-12-07.
- Daigle, Leslie L.; van Gulik, Dirk-Willem; Faltstrom, Patrik (October 2002). "Request for Comments: 3406: Uniform Resource Names (URN) Namespace Definition Mechanisms". IETF. http://tools.ietf.org/html/rfc3406. Retrieved 2012-12-07.
- Berners-Lee, Tim; Fielding, Roy; Masinter, Larry (January 2005). "Request for Comments: 3986: Uniform Resource Identifier (URI): Generic Syntax". IETF. http://tools.ietf.org/html/rfc3986. Retrieved 2012-12-07.
- "Factsheet: DOI System and Internet Identifier Specifications". International DOI Foundation. October 2012. http://www.doi.org/factsheets/DOIIden tifierSpecs.html. Retrieved 2012-12-06.
- W3C/IETF URI Planning Interest Group (21 September 2001). "URIs, URLs, and URNs: Clarifications and Recommendations 1.0". W3C. http://www.w3.org/TR/uri-clarificatio n/. Retrieved 2012-12-07.
External links
See also
- Archival Resource Key (ARK)
- .arpa — urn.arpa is for dynamic discovery
- Extensible resource identifier (XRI)
- Handle System
- Life Science Identifiers (LSID)
- Persistent Uniform Resource Locator (PURL)