rfc3305.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 620 行 · 第 1/2 页

TXT
620
字号






Network Working Group                                   M. Mealling, Ed.
Request for Comments: 3305                             R. Denenberg, Ed.
Category: Informational                           W3C URI Interest Group
                                                             August 2002


      Report from the Joint W3C/IETF URI Planning Interest Group:
 Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names
              (URNs): Clarifications and Recommendations

Status of this Memo


   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

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

Abstract

   This document, a product of the W3C Uniform Resource Identifier (URI)
   Interest Group, addresses and attempts to clarify issues pertaining
   to URIs.  This document addresses how URI space is partitioned and
   the relationship between URIs, URLs, and URNs, describes how URI
   schemes and URN namespaces ids are registered, and presents
   recommendations for continued work on this subject.






















Mealling & Denenberg         Informational                      [Page 1]

RFC 3305                  URIs, URLs, and URNs               August 2002


Table of Contents

   1.      The W3C URI Interest Group . . . . . . . . . . . . . . . .  2
   2.      URI Partitioning . . . . . . . . . . . . . . . . . . . . .  2
   2.1     Classical View . . . . . . . . . . . . . . . . . . . . . .  3
   2.2     Contemporary View  . . . . . . . . . . . . . . . . . . . .  3
   2.3     Confusion  . . . . . . . . . . . . . . . . . . . . . . . .  3
   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  . . . . . . . . . . . . . . .  4
   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  . . . . . . . . . . . . . . . . . . .  5
   3.2.2   Pending URN NIDs . . . . . . . . . . . . . . . . . . . . .  6
   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 . . . . . . . . . . . . . . . . . . . . .  8
           References . . . . . . . . . . . . . . . . . . . . . . . .  9
           Authors' Addresses . . . . . . . . . . . . . . . . . . . . 10
           Full Copyright Statement . . . . . . . . . . . . . . . . . 11

1. The W3C URI Interest Group

   In October, 2000 the W3C formed a planning group whose 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 in this area.  The Interest Group was composed of W3C members
   and invited experts from the IETF to participate as well.  This
   document is a set of recommendations from 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.





Mealling & Denenberg         Informational                      [Page 2]

RFC 3305                  URIs, URLs, and URNs               August 2002


2.1 Classical View

   During the early years of discussion of web identifiers (early to mid
   90s), people assumed that an identifier 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 the 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, URN, and additional subspaces to be defined.  The
   only such additional space ever proposed was Uniform Resource
   Characteristics (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 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 did 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, as 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 is it 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 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 interchangeable.  Among these
   experts, this isn't a problem, but among the Internet community at



Mealling & Denenberg         Informational                      [Page 3]

RFC 3305                  URIs, URLs, and URNs               August 2002


   large, it is a problem.  People are not convinced that URI and URL
   mean the same thing, in documents where they (apparently) do.  When
   one RFC talks about URI schemes (e.g. "URI Syntax" (RFC 2396) [12]),
   another talks about URL schemes (e.g. "Registration Procedures for
   URL Schemes" (RFC 2717) [1]), and yet another talks of URN schemes
   ("Architectural Principles of URN Resolution" (RFC 2276) [13]), it is
   natural to wonder how they difference, and how they relate to one
   another.  While RFC 2396, section 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 lists  34 schemes (at time of publication
   of this RFC).  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
   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 85 schemes at time of publication of this RFC.
   50 or so of these are unregistered (not listed in the IANA register).
   Some of these URI schemes are obsolete (for example, "phone" is
   obsolete, superceded by "tel"), while some have an RFC, but are not
   included in the IANA list.







Mealling & Denenberg         Informational                      [Page 4]

RFC 3305                  URIs, URLs, and URNs               August 2002


3.1.2.2 Private Schemes

   It is 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 for those 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
   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 four registered (at time of
      publication of this RFC) in this category  (urn-1, urn-2,  urn-3,
      and urn-4).





Mealling & Denenberg         Informational                      [Page 5]

RFC 3305                  URIs, URLs, and URNs               August 2002


   o  Formal: The official list of registered NIDs is kept by IANA at
      http://www.iana.org/assignments/urn-namespaces.  At the time of
      publication of this RFC it lists ten 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]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?