idnits 2.17.1 draft-ietf-urnbis-semantics-clarif-01.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 (February 14, 2015) is 3331 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 305, but no explicit reference was found in the text == Unused Reference: 'URN-transition' is defined on line 338, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2141 (Obsoleted by RFC 8141) -- Obsolete informational reference (is this intentional?): RFC 1738 (Obsoleted by RFC 4248, RFC 4266) -- Duplicate reference: RFC2141, mentioned in 'RFC2141bis', was also mentioned in 'RFC2141'. -- Obsolete informational reference (is this intentional?): RFC 2141 (Obsoleted by RFC 8141) -- Obsolete informational reference (is this intentional?): RFC 3406 (Obsoleted by RFC 8141) Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 7 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 4 Updates: 3986 (if approved) February 14, 2015 5 Intended status: Standards Track 6 Expires: August 18, 2015 8 URN Semantics Clarification 9 draft-ietf-urnbis-semantics-clarif-01.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 August 18, 2015. 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 . . . . . . . . . . . . . . . . . . . 6 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 . . . . . . . . . . . . . . . . . . . . . 8 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 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10 83 1. Introduction 85 The Generic URI Syntax specification [RFC3986] covers both locators 86 and names and mixtures of the two (See its Section 1.1.3) and 87 describes Uniform Resource Locators (URLs) -- first documented in the 88 IETF in RFC 1738 [RFC1738] -- as an embodiment of the locator concept 89 and Uniform Resource Names (URNs), specifically those using the "urn" 90 scheme [RFC2141], as an embodiment of the names that do not directly 91 provide for resource location. This specification is concerned only 92 about URNs of the variety described in RFC 2141 [RFC2141] and its 93 successors [RFC2141bis] (i.e., those that use the "urn" scheme). 94 URLs, other types of names, and any URI types that may not fall into 95 one of the above categories are out of its scope and unaffected by 96 it. 98 Experience with URNs since the publication of RFC 3986 has identified 99 several ways in which their inclusion under its scope has hampered 100 understanding, adoption, and especially extension (specifically 101 extensions of types that were anticipated in RFC 2141). The need for 102 extensions to the URN concept is now being felt in some communities, 103 especially those that include libraries, museums, publishers, and 104 other information scientists. 106 In particular, the Generic URI Syntax specification goes beyond 107 syntax to specify the meaning and interpretation of various fields, 108 especially the "query" and "fragment" ones and the various syntax 109 forms and interpretations it allows for . This 110 specification excludes URNs from those definitions of meaning and 111 interpretation so that RFC 3986 applies to their syntax only. The 112 meaning --and any more specific syntax rules-- for those fields for 113 URNs are now defined in a URN-specific document [RFC2141bis]. URNs 114 remain members of the URI family and parsers for generic URI syntax 115 are not affected by this specification although parsers that make 116 assumptions based on other URI schemes obviously might be. 118 This specification does not discuss DDDS [RFC3401] resolution or 119 conversion to (and interpretation of) URCs [RFC2483] or URN 120 "resolution" more generally. Any of those topics that do need to be 121 addressed should be covered in other documents. The document also 122 does not discuss alternatives to URNs, either those that might use a 123 different scheme name within the RFC 3986 URI framework or those that 124 might use a different framework entirely. In particular, some 125 externally-defined content or object identification systems could be 126 represented either by a URN namespace or through separate URI 127 schemes. This specification does not offer advice on that choice 128 other than to suggest that the two options not be confused (or both 129 used in a way that would be confusing). 131 This document updates RFC 3986 to make the distinction between syntax 132 and semantics clear for URNs and to isolate URNs from presumed URI 133 semantic requiremnts. It is important to note that some readers of 134 RFC 3986 are convinced that the separation is clear in that 135 specification and therefore that no changes to that document are 136 needed. For them, this specification is only a confirming 137 clarification. 139 In the long term, as the expanded syntax and uses of URNs become 140 commonplace and RFC 3986 is updated, this specification is likely to 141 become of historical interest only, providing an extended rationale 142 for decisions made and adjustment of the boundary between URN 143 specifications and generic URI ones. 145 2. Pragmatic Goals 147 Despite the important background and rationale in the sections that 148 follow, the change made (or clarification provided) by this 149 specification is driven by a desire to avoid philosophical debates 150 about terminology or ultimate truths. Instead, it is motivated by 151 three very pragmatic principles and goals: 153 1. Accommodate all of those who think URNs are necessary, i.e., that 154 they can and should be usefully distinguished from other URIs, at 155 least location-oriented ones including URI schemes defined prior 156 to the time work started on this document in August 2014. In 157 particular, provide a foundation for extensions to the URN syntax 158 (as allowed by and defined in RFC 2141) to support requirements 159 encountered by some of those communities. 161 2. Provide a path to avoid getting bogged down in declarative 162 statements about definitions and debates about what is and is not 163 correct in the abstract. 165 3. Avoid a fork in the standard that would be likely to lead to 166 multiple, conflicting, definitions or criteria for URNs. 168 In addition, this document is intended to move past debates about 169 whether or not URNs are intended to be parsed at all (i.e., whether a 170 "urn"-scheme URI is simply opaque to a URI parser once the scheme 171 name is identified) and, if not, how much of it is actually expected 172 to be understood and broken into identifiable parts by such a parser. 173 It establishes a principle that, for the "urn" scheme, parsing into 174 the components identified in RFC 3986 will be performed but that any 175 meanings or interpretation assigned to those components (including 176 that applicability of the normal English meanings of such terms as 177 "query" or "fragment" are a matter for URN-specific specifications. 178 It helps lay the foundarion for the distinguishing terms 179 "p-component", "q-component", and "f-component" in the accompanying 180 URN definition specification [RFC2141bis]. 182 3. The role of queries and fragments in URNs 184 Part of the concern that led to this document was a desire to 185 accommodate URN components that would be analogous to the query and 186 fragment components of generalized URNs but that might have different 187 properties. For many cases, the analogy cannot be exact. For 188 example, RFC 3986 ties the interpretation of fragments to media 189 types. Since media type is a function of specific content, URNs that 190 are never resolved cannot have an associated media type, nor can URNs 191 that resolve to, for example, other URIs that may then not be 192 resolved further. Similarly, while the RFC 3986 syntax for queries 193 (and fragments) may be entirely appropriate for URN use, terminology 194 like "Service Request" (see Appendix B of the predecessor "URNs are 195 not..." draft [ServiceRequests] for additional discussion) may be 196 more suitable to the URN context than "query" (if, indeed, the 197 portion of the URN that is syntactically equivalent to a URI query is 198 where those requests belong). 200 4. Changes to RFC 3986 202 This specification removes URN semantics from the scope of RFC 3896. 203 It makes no changes to the generic URI syntax. That syntax still 204 applies to URNs as well as to other URI types. Even as regard to 205 semantics, it has no practical effect for URNs defined in strict 206 conformance to the prior URN specification [RFC2141] or the 207 associated registration specification [RFC3406]. 209 In particular, the generic URI syntax for path segments that appear 210 after the NID and NSS of a URN, i.e., after an initial "/", for 211 "queries" (strings starting with "?" and continuing to the end of the 212 URI or to a "#"), and for "fragments" (strings starting with "#" and 213 continuing to the end of the URI) is unchanged, but the terms for 214 those path segments, "query" and "fragment" become, for URNs, terms 215 of convenience that are defined in URN-specific ways as p-components, 216 q-components, and f-components [RFC2141bis]. 218 5. Actions Occurring in Parallel with this Specification 220 The basic URN syntax specification [RFC2141] was published well 221 before RFC 3986 and therefore does not depend on it. The successor 222 to that specification [RFC2141bis], fully spells out, or references 223 documents that spell out, the semantics and any required within-field 224 syntax of URNs. It uses great care about generic or implicit 225 reference to any URI specification and delegates further details to 226 specific namespaces. 228 [[CREF1: Note in Draft: Perhaps this section can be dropped 229 entirely.]] 231 6. Acknowledgments 233 This specification was inspired by a search in the IETF URNBIS WG for 234 an approach that would both satisfy the needs of persistent name-type 235 identifiers and still fully conform to the specifications and intent 236 of RFC 3986. That search lasted several years and considered many 237 alternatives. Discussions with Leslie Daigle, Juha Hakala, Barry 238 Leiba, Keith Moore, Andrew Newton, and Peter Saint-Andre during the 239 last quarter of 2013 and the first quarter of 2014 were particularly 240 helpful in arriving at the conclusion that a conceptual separation of 241 notions of location-based identifiers (e.g., URLs) and the types of 242 persistent identifiers represented by URNs was necessary. Juha 243 Hakala provided useful explanations and significant working text 244 about the needs of the library community and their perception of 245 identifiers and consequent implications for URN structure. Peter 246 Saint-Andre provided significant text in a pre-publication review. 247 The author also appreciates the efforts of several people, notably 248 Tim Berners-Lee, Leslie Daigle, Larry Masinter, Keith Moore, Juha 249 Hakala, Julian Reschke, Lars Svensson, Henry S. Thompson, and Dale 250 Worely, to challenge text and ideas and demand answers to hard 251 questions. Whether they agree with the results or not, their 252 insights have contributed significantly to whatever clarity and 253 precision appears in the present document. 255 The specification was changed considerably and its focus narrowed 256 after an extended discussion at the WG meeting during IETF 90 in July 257 2014 [IETF90-URNBISWG] and subsequent comments and clarifications on 258 the mailing list [URNBIS-MailingList]. The contributions of all of 259 the participants in those discussions, only some of whose names 260 appear above, are gratefully acknowledged. 262 7. Contributors 264 Juha Hakala contributed considerable text, some of which was removed 265 from later versions of the document to streamline it. 267 Contact Information: 268 Juha Hakala 269 The National Library of Finland 270 P.O. Box 15, Helsinki University 271 Helsinki, MA FIN-00014 272 Finland 273 Email: juha.hakala@helsinki.fi 275 8. IANA Considerations 277 [[CREF2: RFC Editor: Please remove this section before publication.]] 279 This memo is not believed to require any action on IANA's part. In 280 particular, we note that there is a collection of "Uniform Resource 281 Identifier (URI) Schemes" that does not include URNs and a series of 282 URN-specific registries that do not rely on the URI specificstions. 284 9. Security Considerations 286 This specification changes the semantics of URNs to make them self- 287 contained (as specified in other documents), relying on the generic 288 URI syntax specification for syntax only. It should have no effect 289 on Internet security unless the use of a definition, syntax, and 290 semantics that are more clear reduces the potential for confusion and 291 consequent vulnerabilities. 293 10. References 295 10.1. Normative References 297 [RFC2141] Moats, R., "URN Syntax", RFC 2141, May 1997. 299 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 300 Resource Identifier (URI): Generic Syntax", STD 66, RFC 301 3986, January 2005. 303 10.2. Informative References 305 [DeterministicURI] 306 Mazahir, O., Thaler, D., and G. Montenegro, "Deterministic 307 URI Encoding", February 2014, . 310 [IETF90-URNBISWG] 311 IETF, "URN BIS Working Group Minutes", July 2014, 312 . 315 [RFC1738] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform 316 Resource Locators (URL)", RFC 1738, December 1994. 318 [RFC2141bis] 319 Saint-Andre, P., "Uniform Resource Name (URN) Syntax", 320 January 2014, . 323 [RFC2483] Mealling, M. and R. Daniel, "URI Resolution Services 324 Necessary for URN Resolution", RFC 2483, January 1999. 326 [RFC3401] Mealling, M., "Dynamic Delegation Discovery System (DDDS) 327 Part One: The Comprehensive DDDS", RFC 3401, October 2002. 329 [RFC3406] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom, 330 "Uniform Resource Names (URN) Namespace Definition 331 Mechanisms", BCP 66, RFC 3406, October 2002. 333 [ServiceRequests] 334 Klensin, J., "Names are Not Locators and URNs are Not 335 URIs, Appendix B", July 2014, . 338 [URN-transition] 339 Klensin, J. and J. Hakala, "Uniform Resource Name (URN) 340 Namespace Registration Transition", February 2015, 341 . 344 [URNBIS-MailingList] 345 IETF, "IETF URN Mailing list", 2014, 346 . 348 Appendix A. Background on the URN - URI relationship 350 The Internet community now has many years of experience with both 351 name-type identifiers and location-based identifiers (or "references" 352 for those who are sensitive to the term "identifier" such as many 353 members of the library and information science communities.. The 354 primary examples of these two categories are Uniform Resource Names 355 (URNs [RFC2141] [RFC2141bis]) and Uniform Resource Locators (URLs) 356 [RFC1738]). That experience leads to the conclusion that it is 357 impractical to constrain URNs to the high-level semantics of URLs. 358 The generic syntax for URIs [RFC3986] is adequately flexible to 359 accommodate the perceived needs of URNs, but the specific semantics 360 associated with the URI syntax definition -- what particular 361 constructions "mean" and how and where they are interpreted -- appear 362 to not be. Generalization from URLs to generic Uniform Resource 363 Identifiers (URIs) [RFC3986], especially to name-based, high- 364 stability, long-persistence, identifiers such as many URNs, has 365 failed because the assumed similarities do not adequately extend to 366 all forms of URNs. Ultimately, locators, which typically depend on 367 particular accessing protocols and a specification relative to some 368 physical space or network topology, are simply different creatures 369 from long-persistence, location-independent, object identifiers. The 370 syntax and semantic constraints that are appropriate for locators are 371 either irrelevant to or interfere with the needs of resource names as 372 a class. That was tolerable as long as the URN system didn't need 373 additional capabilities (over those specified in RFC 2141) but 374 experience since RFC 2141 was published has shown that they are, in 375 fact, needed. 377 Appendix B. Change Log 379 [[CREF3: RFC Editor: Please remove this appendix before 380 publication.]] 382 B.1. Changes from draft-ietf-urnbis-urns-are-not-uris-00 (2014-04-07) 383 to -01 (2014-07-03) 385 o Revised Section 1 slightly and added some new material to try to 386 address questions raised on the mailing list. 388 o Added Section 2, reflecting an email exchange. 390 o Added a Security Considerations section, replacing the placeholder 391 in the previous version. 393 o Added later-deleted Appendix B and inserted a note in the material 394 titled "A Perspective on Locations and Names" pointing to it (that 395 material was removed from draft-ietf-urnbis-semantics-clarif-01, 396 but was Section 2 and then Section 3 in earlier versions). 398 o Added temporary Appendix B for this version only. 400 o Enhanced and updated the Acknowledgments section. 402 o The usual small clarifications and editorial changes. 404 B.2. Changes from draft-ietf-urnbis-urns-are-not-uris-01 to draft-ietf- 405 urnbis-semantics-clarif-00 (2014-08-25) 407 o Changed title and file name to better reflect changes summarized 408 below. Note that the predecessor of this document was draft-ietf- 409 urnbis-urns-are-not-uris-01. 411 o Revised considerably as discussed on the mailing list and at IETF 412 90. In particular, the document has been narrowed to change 413 semantics only without affecting the relationship to URI syntax 414 and the document title and other details changed to match. 416 o Dropped much of the original Introduction (moving it temporarily 417 to an appendix) and trimmed the abstract to be consistent with the 418 new, more limited. scope. 420 o Revised an earlier version of Appendix B to make "perceived 421 requirement" more clear. 423 o Removed the former Appendix B, as promised in the previous draft, 424 moved considerably more text into appendices, and added some new 425 appendix text. 427 o Added new material to discuss the next round of decisions the WG 428 will have to make, assuming this provisions of this specification 429 are approved. That material was removed from draft-ietf-urnbis- 430 semantics-clarif-01. 432 B.3. Changes from draft-ietf-urnbis-semantics-clarif-00 (2014-08-25) to 433 -01 435 o Removed some appendices and the topic discussion material, as 436 discused in the previous draft. 438 o Aligned the document and its terminology somewhat better with 439 draft-ietf-urnbis-rfc2141bis-urn-09 including providing for 440 p-components and using the p-/q-/f-component terminology. 442 o Made several clarifying changes to reflect mailing list 443 discussions (mostly of 2141bis) since the earlier version was 444 posted. 446 o Revised earlier portions of this change tracking appendix to 447 remove referenced to deleted material. It is not possible to 448 reconstruct what earlier versions of this document contained by 449 examining these change summaries. 451 o Moved specific comments about the IETF 90 discussions to 452 Acknowledgments and removed or edited some material that was only 453 appropriate for a discussion piece. 455 o Made several small editorial changes as usual. 457 Author's Address 459 John C Klensin 460 1770 Massachusetts Ave, Ste 322 461 Cambridge, MA 02140 462 USA 464 Phone: +1 617 245 1457 465 Email: john-ietf@jck.com