- From: Henrik Frystyk Nielsen <frystyk@microsoft.com>
- Date: Thu, 27 Jul 2000 10:08:10 -0700
- To: <uri@w3.org>, "Larry Masinter \(by way of Al Gilman <asgilman@iamdigex.net>\)" <masinter@attlabs.att.com>
- Cc: <xml-uri@w3.org>
> [forwarded because this touches on fundamental concepts of the URI object, > if you will pardon the expression. -Al] > > [Henrik opined] > > > Nope, there is nothing specific to HTTP URIs in this. As I have mentioned > > before, it just so happens that HTTP URIs use all aspects of the URI > > syntax defined by RFC 2396 and so there is a 1:1 mapping between the > > equality rules defined for HTTP URIs and URIs and RFC 2396. It is more for > > historic reasons that anything else that those rules are explained in the > > HTTP spec and not in the URI spec. > > [Larry responded] > > I disagree. RFC 2396 does not define 'equality' rules for > URIs because there are NO context-independent equality rules. There are really two questions here: * What is the basic URI comparison rule that any URI parser can use regardless of URI scheme etc.? This is the context-independent equality rule * What are the comparison rules for various components of a URI like the authority, the scheme, etc.? These are the context-dependent equality rules The former is case-sensitive (or octet by octet) comparison, the latter are specific rules for dealing with URI hierarchy, escaping of characters etc. Note that none of the rules are in any way defined by semantics associated with HTTP but rather semantics and properties associated with URI syntax directly (hierarchy, escaping) or the URI spaces the URIs belong to (case insensitivity of DNS names etc.) This is also reflected in all URI parsers that I know of as they in fact implement these rules without being tied to HTTP in any way. > HTTP is a context, and the equality rules defined in RFC 2616 (HTTP) > only apply for the purposes of use within HTTP, e.g., for deciding whether > two cached entries refer to the 'same' resource. > > There was never any intention that the equivalence rules in RFC 2616 > would automatically apply to any other context for URIs. Because there is no link between the equality rules and HTTP, there is no difference between when HTTP wants to compare URIs and other specifications want to compare URIs and it therefore doesn't make sense to define different rules for comparison when the comparison in fact doesn't depend on the context (HTTP, or other specs). Henrik
Received on Thursday, 27 July 2000 13:08:49 UTC