Jump to content

Uniform Resource Name: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 6: Line 6:


* URNs are used for identification,
* URNs are used for identification,
* URCs for including meta-information.
* [[URC]]s for including meta-information.
* URLs for locating or finding resources.
* URLs for locating or finding resources.



Revision as of 01:14, 13 August 2007

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 like a person's name, while a URL is like their street address. The URN defines something's identity, while the URL provides a method for finding something. 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.
urn:tree:tiger:BL5OM7M75DWHAXMFZFJ23MU3LVMRXKFO6HTGUTY
A non-standard URN representing the same MP3 file. 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]

See also