idnits 2.17.1 draft-ietf-urnbis-semantics-clarif-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC3986, but the abstract doesn't seem to directly say this. It does mention RFC3986 though, so this could be OK. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC3986, updated by this document, for RFC5378 checks: 2002-11-01) -- 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 (August 10, 2015) is 3176 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) == Unused Reference: 'DeterministicURI' is defined on line 315, but no explicit reference was found in the text == Unused Reference: 'URN-transition' is defined on line 349, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2141 (Obsoleted by RFC 8141) -- Duplicate reference: RFC2141, mentioned in 'RFC2141bis', was also mentioned in 'RFC2141'. ** Obsolete normative reference: RFC 2141 (Obsoleted by RFC 8141) -- Obsolete informational reference (is this intentional?): RFC 1738 (Obsoleted by RFC 4248, RFC 4266) -- Obsolete informational reference (is this intentional?): RFC 3406 (Obsoleted by RFC 8141) Summary: 2 errors (**), 0 flaws (~~), 3 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Uniform Resource Names (urnbis) J. Klensin 3 Internet-Draft August 10, 2015 4 Updates: 3986 (if approved) 5 Intended status: Standards Track 6 Expires: February 11, 2016 8 URN Semantics Clarification 9 draft-ietf-urnbis-semantics-clarif-02.txt 11 Abstract 13 Experience has shown that identifiers associated with persistent 14 names have properties and requirements that may be somewhat different 15 from identifiers associated with the locations of objects. This is 16 especially true when such names are expected to be stable for a very 17 long time or when they identify large and complex entities. In order 18 to allow Uniform Resource Names (URNs) to evolve to meet the needs of 19 the Library, Museum, Publisher, and Information Science communities 20 and other users, this specification separates URNs from the semantic 21 constraints that many people believe are part of the specification 22 for Uniform Resource Identifiers (URIs) in RFC 3986, updating that 23 document accordingly. The syntax of URNs is still constrained to 24 that of RFC 3986, so generic URI parsers are unaffected by this 25 change. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at http://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on February 11, 2016. 44 Copyright Notice 46 Copyright (c) 2015 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 2. Pragmatic Goals . . . . . . . . . . . . . . . . . . . . . . . 4 63 3. The role of queries and fragments in URNs . . . . . . . . . . 4 64 4. Changes to RFC 3986 . . . . . . . . . . . . . . . . . . . . . 5 65 5. Actions Occurring in Parallel with this Specification . . . . 5 66 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 67 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 68 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 69 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7 70 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 71 10.1. Normative References . . . . . . . . . . . . . . . . . . 7 72 10.2. Informative References . . . . . . . . . . . . . . . . . 7 73 Appendix A. Background on the URN - URI relationship . . . . . . 8 74 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 9 75 B.1. Changes from draft-ietf-urnbis-urns-are-not-uris-00 76 (2014-04-07) to -01 (2014-07-03) . . . . . . . . . . . . 9 77 B.2. Changes from draft-ietf-urnbis-urns-are-not-uris-01 78 to draft-ietf-urnbis-semantics-clarif-00 (2014-08-25) . . 9 79 B.3. Changes from draft-ietf-urnbis-semantics-clarif-00 80 (2014-08-25) to -01 . . . . . . . . . . . . . . . . . . . 10 81 B.4. Changes from draft-ietf-urnbis-semantics-clarif-01 82 (2015-02-14) to -02 . . . . . . . . . . . . . . . . . . . 10 83 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11 85 1. Introduction 87 The Generic URI Syntax specification [RFC3986] covers both locators 88 and names and mixtures of the two (See its Section 1.1.3) and 89 describes Uniform Resource Locators (URLs) -- first documented in the 90 IETF in RFC 1738 [RFC1738] -- as an embodiment of the locator concept 91 and Uniform Resource Names (URNs), specifically those using the "urn" 92 scheme [RFC2141], as an embodiment of the names that do not directly 93 provide for resource location. This specification is concerned only 94 about URNs of the variety described in RFC 2141 [RFC2141] and its 95 successors [RFC2141bis] (i.e., those that use the "urn" scheme). 96 URLs, other types of names, and any URI types that may not fall into 97 one of the above categories are out of its scope and unaffected by 98 it. 100 Experience with URNs since the publication of RFC 3986 has identified 101 several ways in which their inclusion under its scope has hampered 102 understanding, adoption, and especially extension (specifically 103 extensions of types that were anticipated in RFC 2141). The need for 104 extensions to the URN concept is now being felt in some communities, 105 especially those that include libraries, museums, publishers, and 106 other information scientists. 108 In particular, the Generic URI Syntax specification goes beyond 109 syntax to specify the meaning and interpretation of various fields, 110 especially the "query" and "fragment" ones and the various syntax 111 forms and interpretations it allows for . This 112 specification excludes URNs from those definitions of meaning and 113 interpretation so that RFC 3986 applies to their syntax only. The 114 meaning --and any more specific syntax rules-- for those fields for 115 URNs are now defined in a URN-specific document [RFC2141bis]. URNs 116 remain members of the URI family and parsers for generic URI syntax 117 are not affected by this specification although parsers that make 118 assumptions based on other URI schemes obviously might be. 120 This specification does not discuss DDDS [RFC3401] resolution or 121 conversion to (and interpretation of) URCs [RFC2483] or URN 122 "resolution" more generally. Any of those topics that do need to be 123 addressed should be covered in other documents. The document also 124 does not discuss alternatives to URNs, either those that might use a 125 different scheme name within the RFC 3986 URI framework or those that 126 might use a different framework entirely. In particular, some 127 externally-defined content or object identification systems could be 128 represented either by a URN namespace or through separate URI 129 schemes. This specification does not offer advice on that choice 130 other than to suggest that the two options not be confused (or both 131 used in a way that would be confusing). 133 This document updates RFC 3986 to make the distinction between syntax 134 and semantics clear for URNs and to isolate URNs from presumed URI 135 semantic requiremnts. It is important to note that some readers of 136 RFC 3986 are convinced that the separation is clear in that 137 specification and therefore that no changes to that document are 138 needed. For them, this specification is only a confirming 139 clarification. 141 In the long term, as the expanded syntax and uses of URNs become 142 commonplace and RFC 3986 is updated, this specification is likely to 143 become of historical interest only, providing an extended rationale 144 for decisions made and adjustment of the boundary between URN 145 specifications and generic URI ones. 147 2. Pragmatic Goals 149 Despite the important background and rationale in the sections that 150 follow, the change made (or clarification provided) by this 151 specification is driven by a desire to avoid philosophical debates 152 about terminology or ultimate truths. Instead, it is motivated by 153 three very pragmatic principles and goals: 155 1. Accommodate all of those who think URNs are necessary, i.e., that 156 they can and should be usefully distinguished from other URIs, at 157 least location-oriented ones including URI schemes defined prior 158 to the time work started on this document in August 2014. In 159 particular, provide a foundation for extensions to the URN syntax 160 (as allowed by and defined in RFC 2141) to support requirements 161 encountered by some of those communities. 163 2. Provide a path to avoid getting bogged down in declarative 164 statements about definitions and debates about what is and is not 165 correct in the abstract. 167 3. Avoid a fork in the standard that would be likely to lead to 168 multiple, conflicting, definitions or criteria for URNs. 170 In addition, this document is intended to move past debates about 171 whether or not URNs are intended to be parsed at all (i.e., whether a 172 "urn"-scheme URI is simply opaque to a URI parser once the scheme 173 name is identified) and, if not, how much of it is actually expected 174 to be understood and broken into identifiable parts by such a parser. 175 It establishes a principle that, for the "urn" scheme, parsing into 176 the components identified in RFC 3986 will be performed but that any 177 meanings or interpretation assigned to those components (including 178 that applicability of the normal English meanings of such terms as 179 "query" or "fragment" are a matter for URN-specific specifications. 180 It helps lay the foundarion for the distinguishing terms 181 "p-component", "q-component", and "f-component" in the accompanying 182 URN definition specification [RFC2141bis]. 184 3. The role of queries and fragments in URNs 186 Part of the concern that led to this document was a desire to 187 accommodate URN components that would be analogous to the query and 188 fragment components of generalized URNs but that might have different 189 properties. For many cases, the analogy cannot be exact. For 190 example, RFC 3986 ties the interpretation of fragments to media 191 types. Since media type is a function of specific content, URNs that 192 are never resolved cannot have an associated media type, nor can URNs 193 that resolve to, for example, other URIs that may then not be 194 resolved further. Similarly, while the RFC 3986 syntax for queries 195 (and fragments) may be entirely appropriate for URN use, terminology 196 like "Service Request" (see Appendix B of the predecessor "URNs are 197 not..." draft [ServiceRequests] for additional discussion) may be 198 more suitable to the URN context than "query" (if, indeed, the 199 portion of the URN that is syntactically equivalent to a URI query is 200 where those requests belong). 202 4. Changes to RFC 3986 204 This specification removes URN semantics from the scope of RFC 3896. 205 It makes no changes to the generic URI syntax. That syntax still 206 applies to URNs as well as to other URI types. Even as regard to 207 semantics, it has no practical effect for URNs defined in strict 208 conformance to the prior URN specification [RFC2141] or the 209 associated registration specification [RFC3406]. 211 In particular, the generic URI syntax for path segments that appear 212 after the NID and NSS of a URN, i.e., after an initial "/", for 213 "queries" (strings starting with "?" and continuing to the end of the 214 URI or to a "#"), and for "fragments" (strings starting with "#" and 215 continuing to the end of the URI) is unchanged, but the terms for 216 those path segments, "query" and "fragment" become, for URNs, terms 217 of convenience that are defined in URN-specific ways as p-components, 218 q-components, and f-components [RFC2141bis]. 220 5. Actions Occurring in Parallel with this Specification 222 The basic URN syntax specification [RFC2141] was published well 223 before RFC 3986 and therefore does not depend on it. The successor 224 to that specification [RFC2141bis], fully spells out, or references 225 documents that spell out, the semantics and any required within-field 226 syntax of URNs. It uses great care about generic or implicit 227 reference to any URI specification and delegates further details to 228 specific namespaces. 230 [[CREF1: Note in Draft: Perhaps this section can be dropped 231 entirely.]] 233 6. Acknowledgments 235 This specification was inspired by a search in the IETF URNBIS WG for 236 an approach that would both satisfy the needs of persistent name-type 237 identifiers and still fully conform to the specifications and intent 238 of RFC 3986. That search lasted several years and considered many 239 alternatives. Discussions with Leslie Daigle, Juha Hakala, Barry 240 Leiba, Keith Moore, Andrew Newton, and Peter Saint-Andre during the 241 last quarter of 2013 and the first quarter of 2014 were particularly 242 helpful in arriving at the conclusion that a conceptual separation of 243 notions of location-based identifiers (e.g., URLs) and the types of 244 persistent identifiers represented by URNs was necessary. Juha 245 Hakala provided useful explanations and significant working text 246 about the needs of the library community and their perception of 247 identifiers and consequent implications for URN structure. Peter 248 Saint-Andre provided significant text in a pre-publication review. 249 The author also appreciates the efforts of several people, notably 250 Tim Berners-Lee, Leslie Daigle, Larry Masinter, Keith Moore, Juha 251 Hakala, Julian Reschke, Lars Svensson, Henry S. Thompson, and Dale 252 Worely, to challenge text and ideas and demand answers to hard 253 questions. Whether they agree with the results or not, their 254 insights have contributed significantly to whatever clarity and 255 precision appears in the present document. 257 The specification was changed considerably and its focus narrowed 258 after an extended discussion at the WG meeting during IETF 90 in July 259 2014 [IETF90-URNBISWG] and subsequent comments and clarifications on 260 the mailing list [URNBIS-MailingList]. The contributions of all of 261 the participants in those discussions, only some of whose names 262 appear above, are gratefully acknowledged. 264 7. Contributors 266 Juha Hakala contributed considerable text, some of which was removed 267 from later versions of the document to streamline it. 269 Contact Information: 270 Juha Hakala 271 The National Library of Finland 272 P.O. Box 15, Helsinki University 273 Helsinki, MA FIN-00014 274 Finland 275 Email: juha.hakala@helsinki.fi 277 8. IANA Considerations 279 [[CREF2: RFC Editor: Please remove this section before publication.]] 281 This memo is not believed to require any action on IANA's part. In 282 particular, we note that there is a collection of "Uniform Resource 283 Identifier (URI) Schemes" that does not include URNs and a series of 284 URN-specific registries that do not rely on the URI specificstions. 286 9. Security Considerations 288 This specification changes the semantics of URNs to make them self- 289 contained (as specified in other documents), relying on the generic 290 URI syntax specification for syntax only. It should have no effect 291 on Internet security unless the use of a definition, syntax, and 292 semantics that are more clear reduces the potential for confusion and 293 consequent vulnerabilities. 295 10. References 297 10.1. Normative References 299 [RFC2141] Moats, R., "URN Syntax", RFC 2141, DOI 10.17487/RFC2141, 300 May 1997, . 302 [RFC2141bis] 303 Saint-Andre, P. and J. Klensin, "Uniform Resource Name 304 (URN) Syntax", June 2015, 305 . 308 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 309 Resource Identifier (URI): Generic Syntax", STD 66, 310 RFC 3986, DOI 10.17487/RFC3986, January 2005, 311 . 313 10.2. Informative References 315 [DeterministicURI] 316 Mazahir, O., Thaler, D., and G. Montenegro, "Deterministic 317 URI Encoding", February 2014, . 320 [IETF90-URNBISWG] 321 IETF, "URN BIS Working Group Minutes", July 2014, 322 . 325 [RFC1738] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform 326 Resource Locators (URL)", RFC 1738, DOI 10.17487/RFC1738, 327 December 1994, . 329 [RFC2483] Mealling, M. and R. Daniel, "URI Resolution Services 330 Necessary for URN Resolution", RFC 2483, 331 DOI 10.17487/RFC2483, January 1999, 332 . 334 [RFC3401] Mealling, M., "Dynamic Delegation Discovery System (DDDS) 335 Part One: The Comprehensive DDDS", RFC 3401, 336 DOI 10.17487/RFC3401, October 2002, 337 . 339 [RFC3406] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom, 340 "Uniform Resource Names (URN) Namespace Definition 341 Mechanisms", BCP 66, RFC 3406, DOI 10.17487/RFC3406, 342 October 2002, . 344 [ServiceRequests] 345 Klensin, J., "Names are Not Locators and URNs are Not 346 URIs, Appendix B", July 2014, . 349 [URN-transition] 350 Klensin, J. and J. Hakala, "Uniform Resource Name (URN) 351 Namespace Registration Transition", August 2015, 352 . 355 [URNBIS-MailingList] 356 IETF, "IETF URN Mailing list", 2014, 357 . 359 Appendix A. Background on the URN - URI relationship 361 The Internet community now has many years of experience with both 362 name-type identifiers and location-based identifiers (or "references" 363 for those who are sensitive to the term "identifier" such as many 364 members of the library and information science communities.. The 365 primary examples of these two categories are Uniform Resource Names 366 (URNs [RFC2141] [RFC2141bis]) and Uniform Resource Locators (URLs) 367 [RFC1738]). That experience leads to the conclusion that it is 368 impractical to constrain URNs to the high-level semantics of URLs. 369 The generic syntax for URIs [RFC3986] is adequately flexible to 370 accommodate the perceived needs of URNs, but the specific semantics 371 associated with the URI syntax definition -- what particular 372 constructions "mean" and how and where they are interpreted -- appear 373 to not be. Generalization from URLs to generic Uniform Resource 374 Identifiers (URIs) [RFC3986], especially to name-based, high- 375 stability, long-persistence, identifiers such as many URNs, has 376 failed because the assumed similarities do not adequately extend to 377 all forms of URNs. Ultimately, locators, which typically depend on 378 particular accessing protocols and a specification relative to some 379 physical space or network topology, are simply different creatures 380 from long-persistence, location-independent, object identifiers. The 381 syntax and semantic constraints that are appropriate for locators are 382 either irrelevant to or interfere with the needs of resource names as 383 a class. That was tolerable as long as the URN system didn't need 384 additional capabilities (over those specified in RFC 2141) but 385 experience since RFC 2141 was published has shown that they are, in 386 fact, needed. 388 Appendix B. Change Log 390 [[CREF3: RFC Editor: Please remove this appendix before 391 publication.]] 393 B.1. Changes from draft-ietf-urnbis-urns-are-not-uris-00 (2014-04-07) 394 to -01 (2014-07-03) 396 o Revised Section 1 slightly and added some new material to try to 397 address questions raised on the mailing list. 399 o Added Section 2, reflecting an email exchange. 401 o Added a Security Considerations section, replacing the placeholder 402 in the previous version. 404 o Added later-deleted Appendix B and inserted a note in the material 405 titled "A Perspective on Locations and Names" pointing to it (that 406 material was removed from draft-ietf-urnbis-semantics-clarif-01, 407 but was Section 2 and then Section 3 in earlier versions). 409 o Added temporary Appendix B for this version only. 411 o Enhanced and updated the Acknowledgments section. 413 o The usual small clarifications and editorial changes. 415 B.2. Changes from draft-ietf-urnbis-urns-are-not-uris-01 to draft-ietf- 416 urnbis-semantics-clarif-00 (2014-08-25) 418 o Changed title and file name to better reflect changes summarized 419 below. Note that the predecessor of this document was draft-ietf- 420 urnbis-urns-are-not-uris-01. 422 o Revised considerably as discussed on the mailing list and at IETF 423 90. In particular, the document has been narrowed to change 424 semantics only without affecting the relationship to URI syntax 425 and the document title and other details changed to match. 427 o Dropped much of the original Introduction (moving it temporarily 428 to an appendix) and trimmed the abstract to be consistent with the 429 new, more limited. scope. 431 o Revised an earlier version of Appendix B to make "perceived 432 requirement" more clear. 434 o Removed the former Appendix B, as promised in the previous draft, 435 moved considerably more text into appendices, and added some new 436 appendix text. 438 o Added new material to discuss the next round of decisions the WG 439 will have to make, assuming this provisions of this specification 440 are approved. That material was removed from draft-ietf-urnbis- 441 semantics-clarif-01. 443 B.3. Changes from draft-ietf-urnbis-semantics-clarif-00 (2014-08-25) to 444 -01 446 o Removed some appendices and the topic discussion material, as 447 discused in the previous draft. 449 o Aligned the document and its terminology somewhat better with 450 draft-ietf-urnbis-rfc2141bis-urn-09 including providing for 451 p-components and using the p-/q-/f-component terminology. 453 o Made several clarifying changes to reflect mailing list 454 discussions (mostly of 2141bis) since the earlier version was 455 posted. 457 o Revised earlier portions of this change tracking appendix to 458 remove referenced to deleted material. It is not possible to 459 reconstruct what earlier versions of this document contained by 460 examining these change summaries. 462 o Moved specific comments about the IETF 90 discussions to 463 Acknowledgments and removed or edited some material that was only 464 appropriate for a discussion piece. 466 o Made several small editorial changes as usual. 468 B.4. Changes from draft-ietf-urnbis-semantics-clarif-01 (2015-02-14) to 469 -02 471 o Reissued to keep draft alive; no substantive changes. 473 o Updated references, including some that were already outdated in 474 -01. 476 Author's Address 478 John C Klensin 479 1770 Massachusetts Ave, Ste 322 480 Cambridge, MA 02140 481 USA 483 Phone: +1 617 245 1457 484 Email: john-ietf@jck.com