idnits 2.17.1 draft-mealling-uri-ig-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There is 1 instance of lines with non-ascii characters in the document. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (September 24, 2001) is 8250 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? '12' on line 402 looks like a reference -- Missing reference section? '1' on line 367 looks like a reference -- Missing reference section? '13' on line 406 looks like a reference -- Missing reference section? '14' on line 409 looks like a reference -- Missing reference section? '2' on line 370 looks like a reference -- Missing reference section? '3' on line 373 looks like a reference -- Missing reference section? '4' on line 376 looks like a reference -- Missing reference section? '6' on line 384 looks like a reference -- Missing reference section? '7' on line 387 looks like a reference -- Missing reference section? '8' on line 390 looks like a reference -- Missing reference section? '9' on line 393 looks like a reference -- Missing reference section? '10' on line 396 looks like a reference -- Missing reference section? '11' on line 399 looks like a reference -- Missing reference section? '5' on line 380 looks like a reference Summary: 4 errors (**), 0 flaws (~~), 3 warnings (==), 16 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group URI Interest Group 2 Internet-Draft W3C/IETF 3 Expires: March 25, 2002 September 24, 2001 5 URIs, URLs, and URNs: Clarifications and Recommendations 6 Report from the joint W3C/IETF URI Planning Interest Group 7 draft-mealling-uri-ig-01.txt 9 Status of this Memo 11 This document is an Internet-Draft and is in full conformance with 12 all provisions of Section 10 of RFC2026. 14 Internet-Drafts are working documents of the Internet Engineering 15 Task Force (IETF), its areas, and its working groups. Note that 16 other groups may also distribute working documents as Internet- 17 Drafts. 19 Internet-Drafts are draft documents valid for a maximum of six months 20 and may be updated, replaced, or obsoleted by other documents at any 21 time. It is inappropriate to use Internet-Drafts as reference 22 material or to cite them other than as "work in progress." 24 The list of current Internet-Drafts can be accessed at 25 http://www.ietf.org/ietf/1id-abstracts.txt. 27 The list of Internet-Draft Shadow Directories can be accessed at 28 http://www.ietf.org/shadow.html. 30 This Internet-Draft will expire on March 25, 2002. 32 Copyright Notice 34 Copyright (C) The Internet Society (2001). All Rights Reserved. 36 Abstract 38 This paper addresses and attempts to clarify two issues pertaining to 39 URIs, and presents recommendations. Section 1 addresses how URI 40 space is partitioned and the relationship between URIs, URLs, and 41 URNs. Section 2 describes how URI schemes and URN namespace ids are 42 registered. Section 3 mentions additional unresolved issues not 43 considered by this paper and section 4 presents recommendations. 44 Questions concerning this document should be directed to the 45 uri@w3.org mailing list. 47 Table of Contents 49 1. URI Partitioning . . . . . . . . . . . . . . . . . . . . . 3 50 1.1 Classical View . . . . . . . . . . . . . . . . . . . . . . 3 51 1.2 Contemporary View . . . . . . . . . . . . . . . . . . . . 3 52 1.3 Confusion . . . . . . . . . . . . . . . . . . . . . . . . 4 53 2. Registration . . . . . . . . . . . . . . . . . . . . . . . 4 54 2.1 URI Schemes . . . . . . . . . . . . . . . . . . . . . . . 4 55 2.1.1 Registered URI schemes . . . . . . . . . . . . . . . . . . 4 56 2.1.2 Unregistered URI Schemes . . . . . . . . . . . . . . . . . 4 57 2.1.2.1 Public Unregistered Schemes . . . . . . . . . . . . . . . 4 58 2.1.2.2 Private Schemes . . . . . . . . . . . . . . . . . . . . . 5 59 2.1.3 Registration of URI Schemes . . . . . . . . . . . . . . . 5 60 2.1.3.1 IETF Tree . . . . . . . . . . . . . . . . . . . . . . . . 5 61 2.1.3.2 Other Trees . . . . . . . . . . . . . . . . . . . . . . . 5 62 2.2 URN Namespaces . . . . . . . . . . . . . . . . . . . . . . 5 63 2.2.1 Registered URN NIDs . . . . . . . . . . . . . . . . . . . 5 64 2.2.2 Pending URN NIDs . . . . . . . . . . . . . . . . . . . . . 6 65 2.2.3 Unregistered NIDs . . . . . . . . . . . . . . . . . . . . 6 66 2.2.4 Registration Procedures for URN NIDs . . . . . . . . . . . 7 67 3. Additional URI Issues . . . . . . . . . . . . . . . . . . 7 68 4. Recommendations . . . . . . . . . . . . . . . . . . . . . 7 69 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 8 70 References . . . . . . . . . . . . . . . . . . . . . . . . 9 71 Author's Address . . . . . . . . . . . . . . . . . . . . . 10 72 Full Copyright Statement . . . . . . . . . . . . . . . . . 11 74 1. URI Partitioning 76 There is some confusion in the web community over the partitioning of 77 URI space, specifically, the relationship among the concepts of URL, 78 URN, and URI. The confusion owes to the incompatibility between two 79 different views of URI partitioning, which we call the "classical" 80 and "contemporary" views. 82 1.1 Classical View 84 During the early years of discussion of web identifiers (early to mid 85 90s), people assumed that an identifer type would be cast into one of 86 two (or possibly more) classes. An identifier might specify the 87 location of a resource (a URL) or its name (a URN) independent of 88 location. Thus a URI was either a URL or a URN. There was 89 discussion about generalizing this by addition of a discrete number 90 of additional classes; for example, a URI might point to metadata 91 rather than the resource itself, in which case the URI would be a URC 92 (citation). URI space was thus viewed as partitioned into subspaces: 93 URL and URN, and additional subspaces, to be defined. The only such 94 additional space ever proposed was URC and there never was any buy- 95 in; so without loss of generality it's reasonable to say that URI 96 space was thought to be partitioned into two classes: URL and URN. 97 Thus for example, "http:" was a URL scheme, and "isbn:" would 98 (someday) be a URN scheme. Any new scheme would be cast into one or 99 the other of these two classes. 101 1.2 Contemporary View 103 Over time, the importance of this additional level of hierarchy 104 seemed to lessen; the view became that an individual scheme does not 105 need to be cast into one of a discrete set of URI types such as 106 "URL", "URN", "URC", etc. Web-identifer schemes are in general URI 107 schemes; a given URI scheme may define subspaces. Thus "http:" is a 108 URI scheme. "urn:" is also a URI scheme; it defines subspaces, 109 called "namespaces". For example, the set of URNs of the form 110 "urn:isbn:n-nn-nnnnnn-n" is a URN namespace. ("isbn" is an URN 111 namespace identifier. It is not a "URN scheme" nor a "URI scheme"). 113 Further according to the contemporary view, the term "URL" does not 114 refer to a formal partition of URI space; rather, URL is a useful but 115 informal concept: a URL is a type of URI that identifies a resource 116 via a representation of its primary access mechanism (e.g., its 117 network "location"), rather than by some other attributes it may 118 have. Thus as we noted, "http:" is a URI scheme. An http URI is a 119 URL. The phrase "URL scheme" is now used infrequently, usually to 120 refer to some subclass of URI schemes which exclude URNs. 122 1.3 Confusion 124 The body of documents (RFCs, etc) covering URI architecture, syntax, 125 registration, etc., spans both the classical and contemporary 126 periods. People who are well-versed in URI matters tend to use "URL" 127 and "URI" in ways that seem to be interchangable. Among these 128 experts, this isn't a problem. But among the Internet community at 129 large, it is. People are not convinced that URI and URL mean the 130 same thing, in documents where they (apparently) do. When one sees 131 an RFC that talks about URI schemes (e.g. "URI Syntax" (RFC 2396) 132 [12]), another that talks about URL schemes (e.g. "Registration 133 Procedures for URL Schemes" (RFC 2717) [1]), and yet another that 134 talks of URN schemes ("Architectural Principles of URN Resolution" 135 (RFC 2276) [13]) it is natural to wonder what's the difference, and 136 how they relate to one another. While RFC 2396 1.2 attempts to 137 address the distinction between URIs, URLs and URNs, it has not been 138 successful in clearing up the confusion. 140 2. Registration 142 This section examines the state of registration of URI schemes and 143 URN namespaces and the mechanisms by which registration currently 144 occurs. 146 2.1 URI Schemes 148 2.1.1 Registered URI schemes 150 The official register of URI scheme names is maintained by IANA, at 151 http://www.iana.org/assignments/uri-schemes . For each scheme, the 152 RFC that defines the scheme is listed, for example "http:" is defined 153 by RFC2616 [14]. The table currently lists 30 schemes. In addition, 154 there are a few "reserved" scheme names; at one point in time these 155 were intended to become registered schemes but have since been 156 dropped. 158 2.1.2 Unregistered URI Schemes 160 We distinguish between public (unregistered) and private schemes. A 161 public scheme (registered or not), is one for which there is some 162 public document describing it. 164 2.1.2.1 Public Unregistered Schemes 166 Dan Conolly's paper at http://www.w3.org/Addressing/schemes provides 167 a list of known, public URI schemes, both registered and un- 168 registered, a total of 84 schemes. 50 or so of these are 169 unregistered (not listed in the IANA register). Some may be obsolete 170 (for example, it appears that "phone", is obsolete, superceded by 171 "tel"). Some have an RFC, but are not included in the IANA list. 173 2.1.2.2 Private Schemes 175 It's probably impossible to determine all of these, and it's not 176 clear that it's worthwhile to try, except perhaps to get some idea of 177 their number. In the minutes of the August 1997 IETF meeting is the 178 observation that there may be 20-40 in use at Microsoft, with 2-3 179 being added a day, and that WebTV has 24, with 6 added per year. 181 2.1.3 Registration of URI Schemes 183 "Registration Procedures for URL Scheme Names" (RFC 2717) [1] 184 specifies procedures for registering scheme names, and points to 185 "Guidelines for new URL Schemes" (RFC 2718) [2] which supplies 186 guidelines. RFC 2717 describes an organization of schemes into 187 "trees". 189 2.1.3.1 IETF Tree 191 The IETF tree is intended for schemes of general interest to the 192 Internet community, and which require a substantive review and 193 approval process. Registration in the IETF tree requires publication 194 of the scheme syntax and semantics in an RFC. 196 2.1.3.2 Other Trees 198 Although RFC 2717 describes "alternative trees", no alternative trees 199 have been registered to date, although a vendor-supplied tree ("vnd") 200 is pending. URI schemes in alternative trees will be distinguished 201 because they will have a "." in the scheme name. 203 2.2 URN Namespaces 205 A URN namespace is identified by a "Namespace ID", NID, which is 206 registered with IANA (see Section 2.2.4). 208 2.2.1 Registered URN NIDs 210 There are two categories of registered URN NIDs: 212 o Informal: These are of the form "urn-" where is 213 assigned by IANA. There are three registered in this category 214 (urn-1, urn-2, and urn-3). 216 o Formal: The official list of registered NIDs is kept by IANA at 217 http://www.iana.org/assignments/urn-namespaces. Currently it 218 lists eight registered NIDs: 220 * 'ietf', defined by "URN Namespace for IETF Documents" (RFC 221 2648) [3] 223 * 'pin', defined by "The Network Solutions Personal Internet 224 Name (PIN): A URN Namespace for People and Organizations" (RFC 225 3043) [4] 227 * 'issn' defined by "Using The ISSN as URN within an ISSN-URN 228 Namespace" (RFC 3043) [4] 230 * 'oid' defined by "A URN Namespace of Object Identifiers" (RFC 231 3061) [6] 233 * 'newsml' defined by "URN Namespace for NewsML Resources" (RFC 234 3085) [7] 236 * 'oasis' defined by "A URN Namespace for OASIS" (RFC 3121) [8] 238 * 'xmlorg' defined by "A URN Namespace for XML.org" (RFC 3120) 239 [9] 241 * 'publicid' defined by "A URN Namespace for Public Identifiers" 242 (RFC 3151) [10] 244 2.2.2 Pending URN NIDs 246 There are a number of pending URN NID registration requests but there 247 is no reliable way to discover them, or their status. For example, 248 'isbn' and 'nbn' have been approved by the IESG and are in the RFC 249 Editor's queue. 'isbn', as a potential URN namespace (or URI 250 scheme), in particular has been a source of much speculation and 251 confusion over several years. It would be helpful if there were some 252 formal means to track the status of NID requests such as 'isbn'. 254 2.2.3 Unregistered NIDs 256 In the "unregistered" category (besides the experimental case, not 257 described in this paper) there are bonafide NIDs that just haven't 258 bothered to even explore the process of registration.The most 259 prominent that comes to mind is 'hdl'. In the case of 'hdl', it has 260 been speculated that this scheme has not been registered because it 261 is not clear to the owners whether it should be registered as a URI 262 scheme or as a URN namespace. 264 2.2.4 Registration Procedures for URN NIDs 266 "URN Namespace Definition Mechanisms" (RFC 2611) [11] describes the 267 mechanism to obtain an NID for a URN namespace, which is registered 268 with IANA. 270 A request for an NID should describe features including: structural 271 characteristic of identifiers (for example, features relevant to 272 caching/shortcuts approaches); specific character encoding rules 273 (e.g., which character should be used for single-quotes); RFCs, 274 standards, etc, that explains the namespace structure; identifier 275 uniqueness considerations; delegation of assignment authority, 276 including how to become an assigner of identifiers; identifier 277 persistence considerations; quality of service considerations; 278 process for identifier resolution; rules for lexical equivalence; any 279 special considerations required for conforming with the URN syntax 280 (particularly applicable in the case of legacy naming systems); 281 validation mechanisms (determining whether a given string is 282 currently a validly-assigned URN; and scope (for example,"United 283 States social security numbers"). 285 3. Additional URI Issues 287 There are additional unresolved URI issues, not considered by this 288 paper, which we hope will be addressed by a follow-on effort. We 289 have not attempted to completely enumerate these issues, however, 290 they include (but are not limited to) the following: 292 o The use of URIs as identifiers that don't actually identify 293 network resources (for example they identify an abstract object 294 such as an XML schema, or a physical object such as a book or even 295 a person). 297 o IRIs (International Resource Identifiers): the extension of URI 298 syntax to non-ASCII. 300 4. Recommendations 302 We recommend the following: 304 1. The W3C and IETF should jointly develop and endorse a model for 305 URIs, URLs and URNs consistent with the '"Contemporary View" 306 described in section 1, and which considers the additional URI 307 issues listed or alluded to in section 3. 309 2. RFCs such as 2717 ("Registration Procedures for URL Scheme 310 Names") and 2718 ("Guidelines for new URL Schemes") should both 311 be generalized to refer to "URI schemes" rather that "URL 312 schemes" and, after refinement, moved forward as Best Current 313 Practice in IETF. 315 3. The registration procedures for alternative trees should be 316 clarified in RFC 2717. 318 4. Public but unregistered schemes should become registered, where 319 possible. Obsolete schemes should be purged or clearly marked as 320 obsolete. 322 5. IANA registration information should be updated: 324 * Add 'urn' to the list of registered URI schemes with a pointer 325 to the URN namespace registry. 327 * Maintain status information about pending registrations (URI 328 schemes and URN NID requests ). 330 * Insure that it is clear that the page is the official 331 registry, e.g., by adding a heading to the effect "This is the 332 Official IANA Registry of URI Schemes". 334 5. Acknowledgements 336 The participants in the URI Planning Interest Group are: 338 o Tony Coates 340 o Dan Connolly 342 o Diana Dack 344 o Leslie Daigle 346 o Ray Denenberg 348 o Martin D�rst 350 o Paul Grosso 352 o Sandro Hawke 354 o Renato Iannella 356 o Graham Klyne 357 o Larry Masinter 359 o Michael Mealling 361 o Mark Needleman 363 o Norman Walsh 365 References 367 [1] Petke, R. and I. King, "Registration Procedures for URL Scheme 368 Names", BCP 35, RFC 2717, November 1999. 370 [2] Masinter, L., Alvestrand, H., Zigmond, D. and R. Petke, 371 "Guidelines for new URL Schemes", RFC 2718, November 1999. 373 [3] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, 374 August 1999. 376 [4] Mealling, M., "The Network Solutions Personal Internet Name 377 (PIN): A URN Namespace for People and Organizations", RFC 3043, 378 January 2001. 380 [5] Rozenfeld, S., "Using The ISSN (International Serial Standard 381 Number) as URN (Uniform Resource Names) within an ISSN-URN 382 Namespace", RFC 3044, January 2001. 384 [6] Mealling, M., "A URN Namespace of Object Identifiers", RFC 385 3061, February 2001. 387 [7] Coates, A., Allen, D. and D. Rivers-Moore, "URN Namespace for 388 NewsML Resources", RFC 3085, March 2001. 390 [8] Best, K. and N. Walsh, "A URN Namespace for OASIS", RFC 3121, 391 June 2001. 393 [9] Best, K. and N. Walsh, "A URN Namespace for XML.org", RFC 3120, 394 June 2001. 396 [10] Walsh, N., Cowan, J. and P. Grosso, "A URN Namespace for Public 397 Identifiers", RFC 3151, August 2001. 399 [11] Daigle, L., van Gulik, D., Iannella, R. and P. Faltstrom, "URN 400 Namespace Definition Mechanisms", BCP 33, RFC 2611, June 1999. 402 [12] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform 403 Resource Identifiers (URI): Generic Syntax", RFC 2396, August 404 1998. 406 [13] Sollins, K., "Architectural Principles of Uniform Resource Name 407 Resolution", RFC 2276, January 1998. 409 [14] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L., 410 Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- 411 HTTP/1.1", RFC 2616, June 1999. 413 Author's Address 415 URI Planning Interest Group 416 W3C/IETF 418 Full Copyright Statement 420 Copyright (C) The Internet Society (2001). All Rights Reserved. 422 This document and translations of it may be copied and furnished to 423 others, and derivative works that comment on or otherwise explain it 424 or assist in its implementation may be prepared, copied, published 425 and distributed, in whole or in part, without restriction of any 426 kind, provided that the above copyright notice and this paragraph are 427 included on all such copies and derivative works. However, this 428 document itself may not be modified in any way, such as by removing 429 the copyright notice or references to the Internet Society or other 430 Internet organizations, except as needed for the purpose of 431 developing Internet standards in which case the procedures for 432 copyrights defined in the Internet Standards process must be 433 followed, or as required to translate it into languages other than 434 English. 436 The limited permissions granted above are perpetual and will not be 437 revoked by the Internet Society or its successors or assigns. 439 This document and the information contained herein is provided on an 440 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 441 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 442 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 443 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 444 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 446 Acknowledgement 448 Funding for the RFC Editor function is currently provided by the 449 Internet Society.