Sunday, June 3, 2012

URL, URI, URN, ... the 'official' difference

URI:

Internet standard STD 66 (also RFC 3986) defines the generic syntax to be used in all URI schemes.

Syntax:
<scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]

Both URN and the obsolete notion of URL therefore are URIs, and a URI does not have to be classified just URN or just URL.

"
URIs can be classified as locators (URLs), as names (URNs), or as both. A uniform resource name (URN) functions like a person's name, while a uniform resource locator (URL) resembles that person's street address. In other words: the URN defines an item's identity, while the URL provides a method for finding it
"

URN:

http://en.wikipedia.org/wiki/Uniform_Resource_Name

Syntax (RFC 2141):
<URN> ::= "urn:" <NID> ":" <NSS>

Example:
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:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 - A URN using a version 1 UUID.


URL:

http://en.wikipedia.org/wiki/Uniform_resource_locator

(Informal) Syntax (RFC 1738 - Obsolete):
scheme://domain:port/path?query_string#fragment_id

Example:
http://<host>:<port>/<path>?<searchpart>
mailto:<rfc822-addr-spec>
news:<newsgroup-name>
news:<message-id>
telnet://<user>:<password>@<host>:<port>/

URI, URN and URL Clarification and Recommendation in RFCs:

RFC3986 - http://tools.ietf.org/html/rfc3986#section-1.1.3

"
An individual scheme does not have to be classified as being just one
   of "name" or "locator".  Instances of URIs from any given scheme may
   have the characteristics of names or locators or both, often
   depending on the persistence and care in the assignment of
   identifiers by the naming authority, rather than on any quality of
   the scheme.  Future specifications and related documentation should
   use the general term "URI" rather than the more restrictive terms
   "URL" and "URN" [RFC3305].
"

RFC3305: http://tools.ietf.org/html/rfc3305 - The general idea is that usage of the term 'URL' should be replace by the more generic term 'URI'





No comments:

Post a Comment