[Docs] [txt|pdf] [Tracker] [Email] [Nits]

Versions: 00 01 RFC 3305

Network Working Group                                         W3C URI IG
Internet-Draft                                   WorldWideWeb Consortium
Expires: March 5, 2002                                 September 4, 2001


                     URI Schemes and URN Namespaces
                      draft-mealling-uri-ig-00.txt
                              M.Mealling

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 March 5, 2002.

Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Abstract

   Ed.  note (temporary): This paper comines the two earlier papers,
   "URI Partitioning" (Draft 2) and "Current State of Registration of
   URI Schemes and URN Namespaces" (Draft 2), both dated February 16.

1. Background

   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.




URI IG                    Expires March 5, 2002                 [Page 1]


Internet-Draft                URIs and URNs               September 2001


1.1 Classical View

   During the early years of discussion of web identifiers (early to mid
   90s), people assumed that an identifers 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.

1.2 Contemporary View

   It seems that the prevailing view now (and for the past few years) is
   that no need exists for this additional level of hierarchy.  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-identifier
   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").

   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 identifying the resource by name or
   by some other attributes of that resource.  Thus as we noted, "http:"
   is a URI scheme.  An http URI is a URL.  However, "http:" is not a
   URL scheme, since the term "URL scheme" is no longer used.

1.3 Confusion

   The body of documents (RFCs, etc) covering URI architecture, syntax,
   registration, etc., spans both the classical and contemporary
   periods.  Therefore, experts (or in general, people who are well-
   versed in URI matters), tend to use "URL" and "URI" interchangeably.
   Among these experts, this isn't a problem.  But among the Internet



URI IG                    Expires March 5, 2002                 [Page 2]


Internet-Draft                URIs and URNs               September 2001


   community at large, it is.  There has never been any official
   endorsement, from the IETF or W3C, of the contemporary view.  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.  RFC 2396, "URI Syntax"), another that talks about
   URL schemes (e.g.  RFC 2717, "Registration Procedures for URL
   Schemes"), and yet another that talks of URN schemes (e.g.  RFC 2276,
   "Architectural Principles of URN Resolution") it is natural to wonder
   what's the difference, and how they relate to one another.  (Note
   that section 1.2 of RFC 2396 addresses the distinction between URIs,
   URLs, and URNs, but does little to clear up this confusion.)

   This section examines the state of registration of URI schemes and
   URN namespaces and the mechanisms by which registration currently
   occurs.

2. URI Schemes

2.1 Registered URI schemes

   The official register of URI scheme names is maintained by IANA, at
   http://www.iana.org/assignments/uri-schemes (See notes below).  For
   each scheme, the RFC that defines the scheme is listed, for example
   "http:" is defined by RFC2068.  The table currently lists 30 schemes.
   In addition, there are a few "reserved" scheme names; presumably,
   these are, or were, intended to become registered schemes but no RFC
   has yet been approved.

      Notes:



      *  A reader would likely not know that it is the official
         register, since there is nothing conveyed by that page about
         its status.  It would be very helpful if a heading were added
         to this page to the effect "This is the Official IANA Register
         of URI Schemes".

      *  The heading on the register is "URL Schemes".  We consider this
         to be the register of URI schemes (see part 1 under
         "Contemporary View").  It would be helpful if IANA would refer
         to these as URI schemes.

      *  If this register is intended to be a complete list of
         registered URI schemes then URN needs to be added (and the
         entry for URN should point to the list of registered
         namespaces).




URI IG                    Expires March 5, 2002                 [Page 3]


Internet-Draft                URIs and URNs               September 2001


2.2 Unregistered URI Schemes

   We distinguish between public (unregistered) and private schemes.  A
   public scheme (registered or not), is one for which there is some
   public document describing it.

2.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.

2.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.

   RFC 2717: "Registration Procedures for URL Scheme Names" [1]specifies
   procedures for registering scheme names, and points to RFC 2718:
   "Guidelines for new URL Schemes" [2] which supplies guidelines.  RFC
   2717 describes an organization of schemes into "trees".

2.3 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.  Presumably the schemes
   listed in the IANA registry are all in the IETF tree (it seems no
   other tree has been defined).  It is not clear how to tell what tree
   a given URI scheme belongs to.

2.4 Other Trees

   Although RFC 2717 describes "alternative trees", it does not seem to
   describe how to register a tree, nor where is the official register
   of trees.

3. URN Namespaces

   A URN namespace is identified by a "Namespace ID", NID, which is
   registered with IANA (see 2.2.4).



URI IG                    Expires March 5, 2002                 [Page 4]


Internet-Draft                URIs and URNs               September 2001


3.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 RFC 2648: "URN Namespace for  IETF
         Documents" [3]

      *  'pin', defined by RFC 3043: " The Network  Solutions Personal
         Internet Name (PIN): A URN Namespace for People and
         Organizations" [4]

      *  'issn' defined by RFC 3044: "Using The ISSN as URN within an
         ISSN-URN Namespace" [5]

      *  'oid' defined by RFC 3061: "A URN Namespace of Object
         Identifiers" [6]

      *  'newsml' defined by RFC 3085: "URN Namespace for NewsML
         Resources" [7]

      *  'oasis' defined by RFC 3121: "A URN Namespace for OASIS" [8]

      *  'xmlorg' defined by RFC 3120: "A URN Namespace for XML.org" [9]

      *  'publicid' defined by RFC 3151: "A URN Namespace for Public
         Identifiers" [10]


3.2 Pending URN NIDs

   Michael Mealling maintains an informal list (not to be confused with
   the "informal" category) of known NIDs at http://www.uri.net/urn-nid-
   status.html.  It includes registered as well as pending NIDs, and
   tracks their status.  This informal document seems to be the only
   source of information on the status of NIDs other than those formally
   registered.  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 a better-known means to discover the status of a pending



URI IG                    Expires March 5, 2002                 [Page 5]


Internet-Draft                URIs and URNs               September 2001


   URN NID.

3.3 Unregistered NIDs

   In the "unregistered" category (besides the experimental case, not
   described in this paper) there are bona fide NIDs that just haven't
   bothered to even explore the process of 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.4 Registration Procedures for URN NIDs

   RFC 2611: "URN Namespace Definition Mechanisms" [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. Recommendations

   The W3C URI Interest Group recommends the following:

   o  The W3C should jointly develop and publish a model for URIs, URLs
      and URNs consistent with the '"Contemporary View" described in
      section 1.

   o  Public but unregistered schemes should become registered, where
      possible.  Obsolete schemes should be purged.

   o  RFCs such as RFC 2717 ("Registration Procedures for URL Scheme
      Names") [1] and RFC 2718 ("Guidelines for  new URL Schemes") [2]
      should both be generalized to refer to "URI schemes" rather than
      "URL schemes".  Both documents should be moved to "Best Current



URI IG                    Expires March 5, 2002                 [Page 6]


Internet-Draft                URIs and URNs               September 2001


      Practice" status and also documented as a W3C Recommendation.

   o  'urn' should be added to the list of registered URI schemes.

   o  If there is, or will be, more than a single URI-scheme tree, there
      should be a way for people to discover: for a given scheme what
      tree the scheme belongs to; how to register a tree; where the
      official register is.

   o  Status information about pending URN NID requests should be
      maintained.

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
         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.



URI IG                    Expires March 5, 2002                 [Page 7]


Internet-Draft                URIs and URNs               September 2001


Author's Address

   W3C URI Planning Interest Group
   WorldWideWeb Consortium















































URI IG                    Expires March 5, 2002                 [Page 8]


Internet-Draft                URIs and URNs               September 2001


Full Copyright Statement

   Copyright (C) The Internet Society (2001).  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.



















URI IG                    Expires March 5, 2002                 [Page 9]


Html markup produced by rfcmarkup 1.129b, available from https://tools.ietf.org/tools/rfcmarkup/