- From: Roy T. Fielding <fielding@kiwi.ics.uci.edu>
- Date: Mon, 27 Oct 1997 18:04:43 -0800
- To: uri@bunyip.com
- cc: Dan Connolly <connolly@w3.org>, urn-ietf@bunyip.com, timbl@w3.org, masinter@parc.xerox.com, Harald.T.Alvestrand@uninett.no, moore@cs.utk.edu, lassila@w3.org, swick@w3.org, tbray@textuality.com, jeanpa@microsoft.com, cmsmcq@uic.edu, dsr@w3.org, lehors@w3.org, ij@w3.org
One of the nice things about being out with a cold for three days is you get to see the tail end of these conversations before being able to reply. When I agreed to revise and combine the URL specifications over a year ago, the first question I asked of the other authors is whether I should write it as the URI syntax or the URL syntax. The question of whether or not the two are equivalent was never an issue --- the reason I asked the question was to determine if it was politically feasible to make the specification match the URI/URL/URN design, or if it would be better to maintain the artificial distinction for the purpose of getting the spec out faster. A year later, it is clear we made the wrong choice. Leslie Daigle writes: >By the way -- note that this is the > > "Uniform Resource Locators (URL): Generic Syntax and Semantics" > >draft, and it's the "and semantics" parts that concerns me particularly >when talking about sweeping URN syntax into this and calling it the URI >syntax document. The definition of URN given in RFC2141 and its relatives is a subset of the definition of a URL scheme, both in terms of semantics and syntax. The URN requirements apply additional constraints on the naming authority and the syntax, but those constraints are no different than what can be applied to any new URL scheme. URNs are already bound by the syntax of a URL in order to fulfill one of the earliest requirements --- that URNs be usable in the same context as one would use a URL reference. Please note that the "L" in "URL" represents "Locator", not "Location". Any naming scheme that requires there exist some mechanism for resolution, whether or not the mechanism is currently in operation, changes over time, or subject to multiple levels of indirection, is a locator. There do exist names that are not locators, but those names are not URNs. The argument that fragment identifiers might not be useful with URNs is ridiculous. A fragment is a client-side specialization of the identification of a resource, and thus is independent of both URLs and URNs except for the fact that they occur within the same data field. They are a property of some URL references, and thus a required property of some URN references. RFC2141 does recognize that requirement, even if it does so in a particularly wishy-washy fashion that should have been unacceptable in any Proposed Standard. Whether or not a URN is allowed to be used in relative form is not relevant. There are many URL schemes which have no use for relative forms. There are many demonstrated uses for abbreviated names, so it is a pity that the "urn" syntax was chosen to exclude their possibility using the standard relative URL algorithm. Instead, you will be stuck with application-dependent macros. They will be created whether you like them or not --- the desire to abbreviate is part of the human psyche and not subject to IETF standardization. >#2 is a definite "no"; URN namespaces are _not_ just like URL schemes. THey >have implications of ownership, maintaingin registries and validation >services, and a whole set of requirements centred on uniqueness, etc. Those are all scheme-dependent requirements. The only thing the "urn" scheme does is gather a bunch of naming authorities under a single, as-yet-undefined set of requirements. There is no RFC that defines those requirements, which is why I didn't reference anything beyond the original Informational spec. If the "urn" scheme is to be useful, it will need to require things which some existing name services do not support, and thus there will exist location-independent URLs which are not URNs. Heck, that is already the case today. I do agree that URN NIDs are not URL schemes, and should not be in the same registry. They don't even have the same syntax. If this sounds a bit confusing, please recall that I argued many times against the URN WG using the name "urn" for what was clearly only one possible scheme for defining names. Monopolizing the namespace is counterproductive. I can easily change the URL spec such that it covers all locators and still gives autonomy over the "urn" scheme's namespace to the set of URN RFCs. If Keith gives the okay (I believe Harald has already suggested it more than once), then I'll do that later this week. ...Roy T. Fielding Department of Information & Computer Science (fielding@ics.uci.edu) University of California, Irvine, CA 92697-3425 fax:+1(714)824-1715 http://www.ics.uci.edu/~fielding/
Received on Monday, 27 October 1997 22:14:05 UTC