Uniform Resource Name
URIs, URNs, and URLsEdit
The functional requirements for Uniform Resource Names were described in 1994 by RFC 1737, and the syntax was defined in 1997 in RFC 2141. In these standards, URNs were conceived to be part of a three-part information architecture for the Internet, along with Uniform Resource Locators (URLs) and Uniform Resource Characteristics (URCs), a metadata framework. URNs were distinguished from URLs, which identify resources by specifying their locations in the context of a particular access protocol, such as HTTP or FTP. In contrast, URNs were conceived as persistent, usually opaque or at least location-independent, identifiers assigned within defined namespaces, typically by an authority responsible for the namespace, so that they are globally unique and persistent over long periods of time, even after the resource which they identify ceases to exist or becomes unavailable .
However, URCs never progressed past the conceptual stage, and other technologies such as the Resource Description Framework later took their place. Since RFC 3986 in 2005, use of the terms "Uniform Resource Name" and "Uniform Resource Locator" has been deprecated in technical standards in favor of the term Uniform Resource Identifier (URI), which encompasses both, a view proposed in 2001 by a joint working group between the World Wide Web Consortium (W3C) and Internet Engineering Task Force (IETF).
A URI is a string of characters used to identify or name a resource. URIs are used in many Internet protocols to refer to and access information resources. URI schemes include the familiar
http, as well as hundreds of others.
In the "contemporary view", as it is called, all URIs identify or name resources, perhaps uniquely and persistently, with some of them also being "locators" which are resolvable in conjunction with a specified protocol to a representation of the resources.
Other URIs are not locators and are not necessarily resolvable within the bounds of the systems where they are found. These URIs may serve as names or identifiers of resources. Since resources can move, opaque identifiers which are not locators and are not bound to particular locations are arguably more likely than identifiers which are locators to remain unique and persistent over time. But whether a URI is resolvable depends on many operational and practical details, irrespective of whether it is called a "name" or a "locator". In the contemporary view, there is no bright line between "names" and "locators".
In accord with this way of thinking, the distinction between Uniform Resource Names and Uniform Resource Locators is now no longer used in formal Internet Engineering Task Force technical standards, though the latter term, URL, is still in wide informal use.
The term "URN" continues now as one of more than a hundred URI "schemes",
ftp:, and so forth. URIs of the
urn: scheme are not necessarily locators; are not required to be associated with a particular protocol or access method; and need not be resolvable. They should be assigned by a procedure which provides some assurance that they will remain unique and identify the same resource persistently over a prolonged period. Some namespaces under the
urn: scheme, such as
urn:uuid: assign identifiers in a manner which does not require a registration authority, but most of them do. A typical URN namespace is
urn:isbn, for International Standard Book Numbers.
<URN> ::= "urn:" <NID> ":" <NSS>
This renders as:
The leading scheme (
urn:) is case-insensitive.
<NID> is the namespace identifier, and may include letters, digits, and
-. The NID is followed by the namespace-specific string
<NSS>, the interpretation of which depends on the specified namespace. The NSS may contain ASCII letters and digits, and many punctuation and special characters. Disallowed ASCII and Unicode characters may be included if percent-encoded.
A URI in the
urn: scheme is syntactically a valid  URI, consisting of the scheme, and a path, with no authority, query string, or fragment component.
The characters allowed within the NSS component are a subset of those generally allowed within a URI path component. Notably, slashes (
/) are not permitted in the NSS. Since slash is specified as the mechanism by which hierarchical structure in a URI path is to be indicated, omitting it has meant that alternative syntax must be used within a urn: namespace to indicate hierarchy, when it is indicated at all.
As of March 2017, the Internet Engineering Task Force has approved a revision of the URN syntax standard, dubbed "URNbis". A new RFC is pending. The URNbis standard specifies syntax for query string and fragment components in "urn:" scheme URIs, and expands the character set permitted within the NSS component, bringing it into closer alignment with URI syntax, including allowing the slash character. However, the new standard states that some features of the new syntax, such as query string "r-components" (intended to specify parameters to possible URN resolvers), should not be used until further standardization defines the meaning of the syntax.
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".
Approximately sixty formal URN namespace ids have been registered. These are namespaces where Internet users are expected to benefit from their publication, and are subject to several restrictions. They must:
- not be an already-registered NID
- not start with
x-(see "Experimental namespaces", below)
- not start with
- not start with
XY-, where XY is any combination of two ASCII letters
- be more than two letters long.
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
Informal namespaces are fully fledged URN namespaces and can be registered in global registration services.
Experimental namespaces take the form
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.
RFC 6648 deprecates the use of "X-" notation for new ID names, but makes no recommendation on substituting existing "X-" names, and does not override existing specifications that require the use of "X-". 
||The 1968 book The Last Unicorn, identified by its book number.|
||The 2002 film Spider-Man, identified by its audiovisual number.|
||The scientific journal Science of Computer Programming, identified by its serial number.|
||The IETF's RFC 2648.|
||The default namespace rules for MPEG-7 video metadata.|
||The OID for the United States.|
||A version 1 UUID.|
||A National Bibliography Number for a document, indicating country (
||A directive of the European Union, using the Lex URN namespace.|
||A directive of the Life Science Identifiers may be resolved to http://zoobank.org/urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8C .|
- Sollins, Karen; Masinter, Larry (December 1994). "Request for Comments: 1737: Functional Requirements for Uniform Resource Names". IETF. Retrieved 2012-12-07.
- Moats, Ryan (May 1997). "Request for Comments: 2141: URN Syntax". IETF. 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. Retrieved 2012-12-07.
- Berners-Lee, Tim; Fielding, Roy; Masinter, Larry (January 2005). "Request for Comments: 3986: Uniform Resource Identifier (URI): Generic Syntax". IETF. Retrieved 2012-12-07.
- "Factsheet: DOI System and Internet Identifier Specifications". International DOI Foundation. October 2012. Retrieved 2012-12-06.
- W3C/IETF URI Planning Interest Group (21 September 2001). "URIs, URLs, and URNs: Clarifications and Recommendations 1.0". W3C. Retrieved 2012-12-07.