W3C home > Mailing lists > Public > uri@w3.org > July 2000

Re: [XML-URI] HTTP extensions framework comparison

From: Henrik Frystyk Nielsen <frystyk@microsoft.com>
Date: Thu, 27 Jul 2000 10:08:10 -0700
Message-ID: <004701bff7ed$4f218590$3904fea9@redmond.corp.microsoft.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 13 January 2011 12:15:27 GMT