Uniform Resource Name
Encyclopedia
A uniform resource name (URN) is a uniform resource identifier
(URI) that uses the urn scheme
and does not imply availability of the identified resource
. Both URNs (names) and URL
s (locators) are URIs, and a particular URI may be a name and a locator at the same time.
The functional requirements for uniform resource names are described in RFC 1737. The URNs are part
of a larger Internet information architecture which is composed of URNs, uniform resource characteristics
(URCs), and uniform resource locators (URLs). Each plays a specific role:
RFC 2141 ("URN syntax") says:
It is worth noting that, as stated in RFC 3986 ("uniform resource identifier generic syntax"),
URNs are often compared to the ISBN system for uniquely identifying books (and in fact, it is possible to encode an ISBN as a URN). Having a book's unique identifier lets you discuss the book, such as whether you've read it, enjoyed it, etc. To actually read the book, however, you need its location (e.g., "on the bedside table"). So URNs and URLs are often complementary; for example, you might discuss an RFC
using both concepts: "you can find urn:ietf:rfc:3187 (URN) over athttp://tools.ietf.org/html/rfc3187.html (URL)."
urn:isbn:0451450523 The URN for The Last Unicorn
(1968 book), identified by its book number.
urn:isan:0000-0000-9E59-0000-O-0000-0000-2 The URN for Spider-Man
(2002 film) identified by its audiovisual number
.
urn:issn:0167-6423 The URN for the Science of Computer Programming (scientific journal
), identified by its serial number.
urn:ietf:rfc:2648 The URN for the IETF's RFC 2648.
urn:mpeg:mpeg7:schema:2001 Default Namespace Rules for MPEG-7
video metadata.
urn:oid:2.16.840 The URN corresponding to the OID
for the United States
.
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 A URN using a version 1 UUID
.
i.e. identifiers that don't use officially registered (per RFC 3406) namespaces, which, though, match the syntax defined in RFC 2141 (URN Syntax).
An example server-side URN resolver: see RFC 2169.
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...
(URI) that uses the urn scheme
URI scheme
In the field of computer networking, a URI scheme is the top level of the Uniform Resource Identifier naming structure. All URIs and absolute URI references are formed with a scheme name, followed by a colon character , and the remainder of the URI called the scheme-specific part...
and does not imply availability of the identified resource
Resource (Web)
The concept of resource is primitive in the Web architecture, and is used in the definition of its fundamental elements. The term was first introduced to refer to targets of Uniform Resource Locators , but its definition has been further extended to include the referent of any Uniform Resource...
. Both URNs (names) and URL
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....
s (locators) are URIs, and a particular URI may be a name and a locator at the same time.
The functional requirements for uniform resource names are described in RFC 1737. The URNs are part
of a larger Internet information architecture which is composed of URNs, uniform resource characteristics
Uniform Resource Characteristics
Uniform resource characteristics were subject of an IETF working group around 1994/1995. The purpose of UCS was a metadata framework for World Wide Web resources that were identified by a Uniform Resource Identifier...
(URCs), and uniform resource locators (URLs). Each plays a specific role:
- URNs are used for identification,
- URCs for including meta-information.
- URLs for locating or finding resources.
RFC 2141 ("URN syntax") says:
- Uniform resource names (URNs) are intended to serve as persistent, location-independent resource identifiers and are designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. Therefore, the URN syntax provides a means to encode character data in a form that can be sent in existing protocols, transcribed on most keyboards, etc.
It is worth noting that, as stated in RFC 3986 ("uniform resource identifier generic syntax"),
- The term "uniform resource name" (URN) has been used historically to refer to both URIs under the "urn" scheme (RFC 2141), which are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable, and to any other URI with the properties of a name.
URN syntax
RFC 2141 (dated May 1997 and still classified as requests discussion and suggestions for improvements) describe in BNF the syntax of URNs as:::= "urn:" ":"
- where
is the namespace identifier, and is the namespace-specific string. Phrases enclosed in quotes are Required. The leading "urn:" sequence is case-insensitive. The namespace ID determines the syntactic interpretation of the namespace-specific string.
Comparison with URLs
A URN is similar to a person's name, while a URL is like a street address. The URN defines something's identity, while the URL provides a location. Essentially, "what" vs. "where".URNs are often compared to the ISBN system for uniquely identifying books (and in fact, it is possible to encode an ISBN as a URN). Having a book's unique identifier lets you discuss the book, such as whether you've read it, enjoyed it, etc. To actually read the book, however, you need its location (e.g., "on the bedside table"). So URNs and URLs are often complementary; for example, you might discuss an RFC
Request for Comments
In computer network engineering, a Request for Comments is a memorandum published by the Internet Engineering Task Force describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.Through the Internet Society, engineers and...
using both concepts: "you can find urn:ietf:rfc:3187 (URN) over at
Examples
The Last Unicorn
The Last Unicorn is a fantasy novel written by Peter S. Beagle and published in 1968. It has sold more than five million copies worldwide since its original publication, and has been translated into at least twenty languages....
(1968 book), identified by its book number.
Spider-Man (film)
Spider-Man is a 2002 American superhero film, the first in the Spider-Man film series based on the fictional Marvel Comics character Spider-Man. It was directed by Sam Raimi and written by David Koepp...
(2002 film) identified by its audiovisual number
Isan
Isan is the northeastern region of Thailand. It is located on the Khorat Plateau, bordered by the Mekong River to the north and east, by Cambodia to the southeast and the Prachinburi mountains south of Nakhon Ratchasima...
.
Scientific journal
In academic publishing, a scientific journal is a periodical publication intended to further the progress of science, usually by reporting new research. There are thousands of scientific journals in publication, and many more have been published at various points in the past...
), identified by its serial number.
MPEG-7
MPEG-7 is a multimedia content description standard. It was standardized in ISO/IEC 15938 . This description will be associated with the content itself, to allow fast and efficient searching for material that is of interest to the user. MPEG-7 is formally called Multimedia Content Description...
video metadata.
Object identifier
In computing, an object identifier or OID is an identifier used to name an object . Structurally, an OID consists of a node in a hierarchically-assigned namespace, formally defined using the ITU-T's ASN.1 standard. Successive numbers of the nodes, starting at the root of the tree, identify each...
for the United States
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...
.
Universally Unique Identifier
A universally unique identifier is an identifier standard used in software construction, standardized by the Open Software Foundation as part of the Distributed Computing Environment ....
.
Non-standard usage
The following are examples for "non-standard" URNs,i.e. identifiers that don't use officially registered (per RFC 3406) namespaces, which, though, match the syntax defined in RFC 2141 (URN Syntax).
- urn:www.agxml.org:schemas:all:2:0
- A non-standard URN representing a namespace for Schema "Agricultural Markup Language 2.0 for Grain and Oilseed Business".
- urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
- A non-standard URN representing a specific MP3 file of the I have a dreamI Have a Dream"I Have a Dream" is a 17-minute public speech by Martin Luther King, Jr. delivered on August 28, 1963, in which he called for racial equality and an end to discrimination...
speech by Martin Luther King by its SHA-1 hash Base32 encoded. - urn:tree:tiger:BL5OM7M75DWHAXMFZFJ23MU3LVMRXKFO6HTGUTY
- A non-standard URN representing the same MP3 file this time using its Tiger Tree hashHash treeIn cryptography and computer science Hash trees or Merkle trees are a type of data structure which contains a tree of summary information about a larger piece of data – for instance a file – used to verify its contents. Hash trees are a combination of hash lists and hash chaining, which in turn are...
. Both these schemes can be used to look up data about specific files, for example using BitziBitziBitzi is a website where volunteers share reports about any kind of digital file, with identifying metadata, commentary, and other ratings.Information contributed and rated by volunteers is compiled into the Bitpedia data set and reference work, described by Bitzi as a "digital media encyclopedia"...
. - urn:sici:1046-8188(199501)13:1%3C69:FTTHBI%3E2.0.TX;2-4
- A specific article in the journal "ACM Transactions on Information Systems", identified by its percent-encodedPercent-encodingPercent-encoding, also known as URL encoding, is a mechanism for encoding information in a Uniform Resource Identifier under certain circumstances. Although it is known as URL encoding it is, in fact, used more generally within the main Uniform Resource Identifier set, which includes both Uniform...
SICISerial Item and Contribution IdentifierThe Serial Item and Contribution Identifier is a code used to uniquely identify specific volumes, articles or other identifiable parts of a periodical...
code.http://www.benmeadowcroft.com/webdev/articles/urns-and-citations/
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.
See also
- Archival Resource KeyArchival Resource KeyArchival Resource Key is a Uniform Resource Locator that provides a multi-purpose identifier given to information objects of any type...
(ARK) - .arpa.arpaThe domain name arpa is a top-level domain in the Domain Name System of the Internet. It is used exclusively for technical infrastructure purposes...
— urn.arpa is for dynamic discovery - Digital object identifierDigital object identifierA digital object identifier is a character string used to uniquely identify an object such as an electronic document. Metadata about the object is stored in association with the DOI name and this metadata may include a location, such as a URL, where the object can be found...
(DOI) - Extensible Resource IdentifierExtensible Resource IdentifierExtensible Resource Identifier is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifiers and Internationalized Resource Identifiers, developed by the at OASIS...
(XRI) - Handle SystemHandle SystemThe Handle System is a technology specification for assigning, managing, and resolving persistent identifiers for digital objects and other resources on the Internet...
- Internet Assigned Numbers AuthorityInternet Assigned Numbers AuthorityThe Internet Assigned Numbers Authority is the entity that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System , media types, and other Internet Protocol-related symbols and numbers...
(IANA) - Lex (URN)Lex (URN)lex is a type of Uniform Resource Name , that allows accurate identification of laws and other legal norms.Brazil and Italy already do an official use of the URN LEX standard draft v0.3, as a namespace for sources of law....
- Life Science IdentifiersLSIDLife Science Identifiers are a way to name and locate pieces of information on the web. Essentially, an LSID is a unique identifier for some data, and the LSID protocol specifies a standard way to locate the data...
(LSID)
- Persistent Uniform Resource LocatorPersistent Uniform Resource LocatorA persistent uniform resource locator is a Uniform Resource Locator that is used to redirect to the location of the requested Web resource. PURLs redirect HTTP clients using HTTP status codes...
(PURL).
External links
- Uniform Resource Names Charter — The IETF's Uniform Resource Names (concluded) working group
- URN namespace assignments, by IANAInternet Assigned Numbers AuthorityThe Internet Assigned Numbers Authority is the entity that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System , media types, and other Internet Protocol-related symbols and numbers...
. - URN Information Center
- W3C URI Clarification
- Architecture of the World Wide Web, Volume One, §2: Identification – by W3C
- W3C materials related to Addressing
- Middleware Architecture Committee for Education (MACE)