Internet DRAFT - draft-mealling-uri-ig
draft-mealling-uri-ig
Network Working Group M. Mealling, Editor
Internet-Draft R. Denenberg, Editor
Expires: August 6, 2002 W3C URI Interest Group
February 5, 2002
Report from the Joint W3C/IETF URI Planning Interest Group:
URIs, URLs, and URNs: Clarifications and Recommendations
draft-mealling-uri-ig-02.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 6, 2002.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This paper is the product of the W3C URI Interest Group. It
addresses and attempts to clarify two issues pertaining to URIs, and
presents recommendations. Section 1 addresses how URI space is
partitioned and the relationship between URIs, URLs, and URNs.
Section 2 describes how URI schemes and URN namespace ids are
registered. Section 3 mentions additional unresolved issues not
considered by this paper and section 4 presents recommendations.
Questions concerning this document should be directed to the
uri@w3.org mailing list.
Mealling & Denenberg Expires August 6, 2002 [Page 1]
Internet-Draft URIs, URLs, and URNs February 2002
Table of Contents
1. The W3C URI Interest Group . . . . . . . . . . . . . . . . 3
2. URI Partitioning . . . . . . . . . . . . . . . . . . . . . 3
2.1 Classical View . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Contemporary View . . . . . . . . . . . . . . . . . . . . 3
2.3 Confusion . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Registration . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 URI Schemes . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1 Registered URI schemes . . . . . . . . . . . . . . . . . . 4
3.1.2 Unregistered URI Schemes . . . . . . . . . . . . . . . . . 4
3.1.2.1 Public Unregistered Schemes . . . . . . . . . . . . . . . 5
3.1.2.2 Private Schemes . . . . . . . . . . . . . . . . . . . . . 5
3.1.3 Registration of URI Schemes . . . . . . . . . . . . . . . 5
3.1.3.1 IETF Tree . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.3.2 Other Trees . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 URN Namespaces . . . . . . . . . . . . . . . . . . . . . . 5
3.2.1 Registered URN NIDs . . . . . . . . . . . . . . . . . . . 6
3.2.2 Pending URN NIDs . . . . . . . . . . . . . . . . . . . . . 7
3.2.3 Unregistered NIDs . . . . . . . . . . . . . . . . . . . . 7
3.2.4 Registration Procedures for URN NIDs . . . . . . . . . . . 7
4. Additional URI Issues . . . . . . . . . . . . . . . . . . 7
5. Recommendations . . . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . 8
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 9
References . . . . . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . 10
Full Copyright Statement . . . . . . . . . . . . . . . . . 12
Mealling & Denenberg Expires August 6, 2002 [Page 2]
Internet-Draft URIs, URLs, and URNs February 2002
1. The W3C URI Interest Group
In October, 2000 the W3C formed a planning group who's mission was to
evaluate the opportunities for W3C work in the area of Uniform
Resource Identifiers (URIs) and to develop a proposal for continued
work. The Interest Group was made up of W3C members and invited
experts from the IETF. This document is a set of recommendations by
this group to the W3C and the IETF for work that can and should
continue in this area.
2. URI Partitioning
There is some confusion in the web community over the partitioning of
URI space, specifically, the relationship among the concepts of URL,
URN, and URI. The confusion owes to the incompatibility between two
different views of URI partitioning, which we call the "classical"
and "contemporary" views.
2.1 Classical View
During the early years of discussion of web identifiers (early to mid
90s), people assumed that an identifer type would be cast into one of
two (or possibly more) classes. An identifier might specify the
location of a resource (a URL) or its name (a URN) independent of
location. Thus a URI was either a URL or a URN. There was
discussion about generalizing this by addition of a discrete number
of additional classes; for example, a URI might point to metadata
rather than the resource itself, in which case the URI would be a URC
(citation). URI space was thus viewed as partitioned into subspaces:
URL and URN, and additional subspaces, to be defined. The only such
additional space ever proposed was URC and there never was any buy-
in; so without loss of generality it's reasonable to say that URI
space was thought to be partitioned into two classes: URL and URN.
Thus for example, "http:" was a URL scheme, and "isbn:" would
(someday) be a URN scheme. Any new scheme would be cast into one or
the other of these two classes.
2.2 Contemporary View
Over time, the importance of this additional level of hierarchy
seemed to lessen; the view became that an individual scheme does not
need to be cast into one of a discrete set of URI types such as
"URL", "URN", "URC", etc. Web-identifer schemes are in general URI
schemes; a given URI scheme may define subspaces. Thus "http:" is a
URI scheme. "urn:" is also a URI scheme; it defines subspaces,
called "namespaces". For example, the set of URNs of the form
"urn:isbn:n-nn-nnnnnn-n" is a URN namespace. ("isbn" is an URN
namespace identifier. It is not a "URN scheme" nor a "URI scheme").
Mealling & Denenberg Expires August 6, 2002 [Page 3]
Internet-Draft URIs, URLs, and URNs February 2002
Further according to the contemporary view, the term "URL" does not
refer to a formal partition of URI space; rather, URL is a useful but
informal concept: a URL is a type of URI that identifies a resource
via a representation of its primary access mechanism (e.g., its
network "location"), rather than by some other attributes it may
have. Thus as we noted, "http:" is a URI scheme. An http URI is a
URL. The phrase "URL scheme" is now used infrequently, usually to
refer to some subclass of URI schemes which exclude URNs.
2.3 Confusion
The body of documents (RFCs, etc) covering URI architecture, syntax,
registration, etc., spans both the classical and contemporary
periods. People who are well-versed in URI matters tend to use "URL"
and "URI" in ways that seem to be interchangable. Among these
experts, this isn't a problem. But among the Internet community at
large, it is. People are not convinced that URI and URL mean the
same thing, in documents where they (apparently) do. When one sees
an RFC that talks about URI schemes (e.g. "URI Syntax" (RFC 2396)
[12]), another that talks about URL schemes (e.g. "Registration
Procedures for URL Schemes" (RFC 2717) [1]), and yet another that
talks of URN schemes ("Architectural Principles of URN Resolution"
(RFC 2276) [13]) it is natural to wonder what's the difference, and
how they relate to one another. While RFC 2396 1.2 attempts to
address the distinction between URIs, URLs and URNs, it has not been
successful in clearing up the confusion.
3. Registration
This section examines the state of registration of URI schemes and
URN namespaces and the mechanisms by which registration currently
occurs.
3.1 URI Schemes
3.1.1 Registered URI schemes
The official register of URI scheme names is maintained by IANA, at
http://www.iana.org/assignments/uri-schemes . For each scheme, the
RFC that defines the scheme is listed, for example "http:" is defined
by RFC2616 [14]. The table currently lists 30 schemes. In addition,
there are a few "reserved" scheme names; at one point in time these
were intended to become registered schemes but have since been
dropped.
3.1.2 Unregistered URI Schemes
We distinguish between public (unregistered) and private schemes. A
Mealling & Denenberg Expires August 6, 2002 [Page 4]
Internet-Draft URIs, URLs, and URNs February 2002
public scheme (registered or not), is one for which there is some
public document describing it.
3.1.2.1 Public Unregistered Schemes
Dan Conolly's paper at http://www.w3.org/Addressing/schemes provides
a list of known, public URI schemes, both registered and un-
registered, a total of 84 schemes. 50 or so of these are
unregistered (not listed in the IANA register). Some may be obsolete
(for example, it appears that "phone", is obsolete, superceded by
"tel"). Some have an RFC, but are not included in the IANA list.
3.1.2.2 Private Schemes
It's probably impossible to determine all of these, and it's not
clear that it's worthwhile to try, except perhaps to get some idea of
their number. In the minutes of the August 1997 IETF meeting is the
observation that there may be 20-40 in use at Microsoft, with 2-3
being added a day, and that WebTV has 24, with 6 added per year.
3.1.3 Registration of URI Schemes
"Registration Procedures for URL Scheme Names" (RFC 2717) [1]
specifies procedures for registering scheme names, and points to
"Guidelines for new URL Schemes" (RFC 2718) [2] which supplies
guidelines. RFC 2717 describes an organization of schemes into
"trees". It is important to note that these two documents use the
historical term 'URL' when in fact, they refer to URIs in general.
In fact, one of the recommended tasks in Section 5 is for these
documents to be updated to use the term 'URI' instead of 'URL'.
3.1.3.1 IETF Tree
The IETF tree is intended for schemes of general interest to the
Internet community, and which require a substantive review and
approval process. Registration in the IETF tree requires publication
of the scheme syntax and semantics in an RFC.
3.1.3.2 Other Trees
Although RFC 2717 describes "alternative trees", no alternative trees
have been registered to date, although a vendor-supplied tree ("vnd")
is pending. URI schemes in alternative trees will be distinguished
because they will have a "." in the scheme name.
3.2 URN Namespaces
A URN namespace is identified by a "Namespace ID", NID, which is
Mealling & Denenberg Expires August 6, 2002 [Page 5]
Internet-Draft URIs, URLs, and URNs February 2002
registered with IANA (see Section 3.2.4).
3.2.1 Registered URN NIDs
There are two categories of registered URN NIDs:
o Informal: These are of the form "urn-<number>" where <number> is
assigned by IANA. There are three registered in this category
(urn-1, urn-2, and urn-3).
o Formal: The official list of registered NIDs is kept by IANA at
http://www.iana.org/assignments/urn-namespaces. Currently it
lists eight registered NIDs:
* 'ietf', defined by "URN Namespace for IETF Documents" (RFC
2648) [3]
* 'pin', defined by "The Network Solutions Personal Internet
Name (PIN): A URN Namespace for People and Organizations" (RFC
3043) [4]
* 'issn' defined by "Using The ISSN as URN within an ISSN-URN
Namespace" (RFC 3043) [4]
* 'oid' defined by "A URN Namespace of Object Identifiers" (RFC
3061) [6]
* 'newsml' defined by "URN Namespace for NewsML Resources" (RFC
3085) [7]
* 'oasis' defined by "A URN Namespace for OASIS" (RFC 3121) [8]
* 'xmlorg' defined by "A URN Namespace for XML.org" (RFC 3120)
[9]
* 'publicid' defined by "A URN Namespace for Public Identifiers"
(RFC 3151) [10]
* 'isbn' defined by "Using International Standard Book Numbers
as Uniform Resource Names" (RFC 3187) [15]
* 'nbn' defined by "Using National Bibliography Numbers as
Uniform Resource Names" (RFC 3188) [16]
Mealling & Denenberg Expires August 6, 2002 [Page 6]
Internet-Draft URIs, URLs, and URNs February 2002
3.2.2 Pending URN NIDs
There are a number of pending URN NID registration requests but there
is no reliable way to discover them, or their status. For example,
'isbn' and 'nbn' have been approved by the IESG and are in the RFC
Editor's queue. 'isbn', as a potential URN namespace (or URI
scheme), in particular has been a source of much speculation and
confusion over several years. It would be helpful if there were some
formal means to track the status of NID requests such as 'isbn'.
3.2.3 Unregistered NIDs
In the "unregistered" category (besides the experimental case, not
described in this paper) there are entities that maintain namespaces
that, while completely appropriate as URNs, just haven't bothered to
explore the process of NID registration. The most prominent that
comes to mind is 'hdl'. In the case of 'hdl', it has been speculated
that this scheme has not been registered because it is not clear to
the owners whether it should be registered as a URI scheme or as a
URN namespace.
3.2.4 Registration Procedures for URN NIDs
"URN Namespace Definition Mechanisms" (RFC 2611) [11] describes the
mechanism to obtain an NID for a URN namespace, which is registered
with IANA.
A request for an NID should describe features including: structural
characteristic of identifiers (for example, features relevant to
caching/shortcuts approaches); specific character encoding rules
(e.g., which character should be used for single-quotes); RFCs,
standards, etc, that explains the namespace structure; identifier
uniqueness considerations; delegation of assignment authority,
including how to become an assigner of identifiers; identifier
persistence considerations; quality of service considerations;
process for identifier resolution; rules for lexical equivalence; any
special considerations required for conforming with the URN syntax
(particularly applicable in the case of legacy naming systems);
validation mechanisms (determining whether a given string is
currently a validly-assigned URN; and scope (for example,"United
States social security numbers").
4. Additional URI Issues
There are additional unresolved URI issues, not considered by this
paper, which we hope will be addressed by a follow-on effort. We
have not attempted to completely enumerate these issues, however,
they include (but are not limited to) the following:
Mealling & Denenberg Expires August 6, 2002 [Page 7]
Internet-Draft URIs, URLs, and URNs February 2002
o The use of URIs as identifiers that don't actually identify
network resources (for example they identify an abstract object
such as an XML schema, or a physical object such as a book or even
a person).
o IRIs (International Resource Identifiers): the extension of URI
syntax to non-ASCII.
5. Recommendations
We recommend the following:
1. The W3C and IETF should jointly develop and endorse a model for
URIs, URLs and URNs consistent with the '"Contemporary View"
described in section 1, and which considers the additional URI
issues listed or alluded to in section 3.
2. RFCs such as 2717 ("Registration Procedures for URL Scheme
Names") and 2718 ("Guidelines for new URL Schemes") should both
be generalized to refer to "URI schemes" rather that "URL
schemes" and, after refinement, moved forward as Best Current
Practice in IETF.
3. The registration procedures for alternative trees should be
clarified in RFC 2717.
4. Public but unregistered schemes should become registered, where
possible. Obsolete schemes should be purged or clearly marked as
obsolete.
5. IANA registration information should be updated:
* Add 'urn' to the list of registered URI schemes with a pointer
to the URN namespace registry.
* Maintain status information about pending registrations (URI
schemes and URN NID requests ).
* Insure that it is clear that the page is the official
registry, e.g., by adding a heading to the effect "This is the
Official IANA Registry of URI Schemes".
6. Security Considerations
This memo does not raise any known security threats.
Mealling & Denenberg Expires August 6, 2002 [Page 8]
Internet-Draft URIs, URLs, and URNs February 2002
7. Acknowledgements
The participants in the URI Planning Interest Group are:
o Tony Coates
o Dan Connolly
o Diana Dack
o Leslie Daigle
o Ray Denenberg
o Martin D’rst
o Paul Grosso
o Sandro Hawke
o Renato Iannella
o Graham Klyne
o Larry Masinter
o Michael Mealling
o Mark Needleman
o Norman Walsh
References
[1] Petke, R. and I. King, "Registration Procedures for URL Scheme
Names", BCP 35, RFC 2717, November 1999.
[2] Masinter, L., Alvestrand, H., Zigmond, D. and R. Petke,
"Guidelines for new URL Schemes", RFC 2718, November 1999.
[3] Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
August 1999.
[4] Mealling, M., "The Network Solutions Personal Internet Name
(PIN): A URN Namespace for People and Organizations", RFC 3043,
January 2001.
[5] Rozenfeld, S., "Using The ISSN (International Serial Standard
Mealling & Denenberg Expires August 6, 2002 [Page 9]
Internet-Draft URIs, URLs, and URNs February 2002
Number) as URN (Uniform Resource Names) within an ISSN-URN
Namespace", RFC 3044, January 2001.
[6] Mealling, M., "A URN Namespace of Object Identifiers", RFC
3061, February 2001.
[7] Coates, A., Allen, D. and D. Rivers-Moore, "URN Namespace for
NewsML Resources", RFC 3085, March 2001.
[8] Best, K. and N. Walsh, "A URN Namespace for OASIS", RFC 3121,
June 2001.
[9] Best, K. and N. Walsh, "A URN Namespace for XML.org", RFC 3120,
June 2001.
[10] Walsh, N., Cowan, J. and P. Grosso, "A URN Namespace for Public
Identifiers", RFC 3151, August 2001.
[11] Daigle, L., van Gulik, D., Iannella, R. and P. Faltstrom, "URN
Namespace Definition Mechanisms", BCP 33, RFC 2611, June 1999.
[12] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform
Resource Identifiers (URI): Generic Syntax", RFC 2396, August
1998.
[13] Sollins, K., "Architectural Principles of Uniform Resource Name
Resolution", RFC 2276, January 1998.
[14] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L.,
Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol --
HTTP/1.1", RFC 2616, June 1999.
[15] Hakala, J. and H. Walravens, "Using International Standard Book
Numbers as Uniform Resource Names", RFC 3187, October 2001.
[16] Hakala, J., "Using National Bibliography Numbers as Uniform
Resource Names", RFC 3188, October 2001.
Authors' Addresses
Michael Mealling
VeriSign, Inc.
21345 Ridgetop Circle
Sterling, VA 20166
US
EMail: michael@verisignlabs.com
Mealling & Denenberg Expires August 6, 2002 [Page 10]
Internet-Draft URIs, URLs, and URNs February 2002
Ray Denenberg
Library of Congress
Washington, DC 20540
US
EMail: rden@loc.gov
Mealling & Denenberg Expires August 6, 2002 [Page 11]
Internet-Draft URIs, URLs, and URNs February 2002
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Mealling & Denenberg Expires August 6, 2002 [Page 12]