From Wikipedia, the free 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 URLs (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:
- 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 needing requests discussion and suggestions
for improvements) describe in BNF the syntax of
URNs as:
<URN> ::= "urn:" <NID> ":"
<NSS>
- where <NID> is the Namespace Identifier,
and <NSS> 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 you can 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 at
http://tools.ietf.org/html/rfc3187.html (URL)."
Examples
- urn:isbn:0451450523
- The URN for "The Last Unicorn", identified by its
book
number.
- urn:isan:0000-0000-9E59-0000-O-0000-0000-2
- The URN for "Spider-Man (film)", identified by its
audiovisual
number.
- urn:issn:0167-6423
- The URN for the "Science of Computer Programming" 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.
- urn:uci:I001+SBSi-B10000083052
- The Universal Content Identifier ID issued to a drama Snow Flower supplied by
SBS broadcasting company (RFC 4179)
Non-standard
usage
The following are examples for "non-standard" URNs, i.e.
identifiers that don't use officially registered namespaces and
thus are invalid URNs in terms of RFC 2141 (URN Syntax) and RFC 3406 (Uniform Resource
Names (URN) Namespace Definition Mechanisms).
- 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 dream 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 hash. Both these schemes can be used to
look up data about specific files, for example using Bitzi.
- 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-encoded SICI code.[1]
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
External
links