- From: Larry Masinter <LMM@acm.org>
- Date: Sun, 07 Jan 2001 11:50:23 +0900
- To: uri@w3.org
There are many different meanings for "equivalent"; you must define
the purpose for which you want to know equivalence before your question
can be answered accurately. Here are some clear distinctions, however:
http://hostwhatever
and
http://hostwhatever#
are different in that the former is an 'absolute URI' and the latter
is a 'URI reference'. There are circumstances (e.g., within the HTTP
protocol talking to a proxy) where the former is allowed and the latter
is not.
http://hostwhatever
and
http://hostwhatever?
are always different. The "?" at the end is part of the path and not
equivalent.
http://host:80 and http://host and http://host/ and http://host:80/
and the case variations of the host name are equivalent because
they are defined to be so by the 'generic syntax':
RFC 2396 section 6:
In general, the rules for
equivalence and definition of a normal form, if any, are scheme
dependent. When a scheme uses elements of the common syntax, it will
also use the common syntax equivalence rules, namely that the scheme
and hostname are case insensitive and a URL with an explicit ":port",
where the port is the default for the scheme, is equivalent to one
where the port is elided.
and RFC 2616 section 3.2.3:
- A port that is empty or not given is equivalent to the default
port for that URI-reference;
- Comparisons of host names MUST be case-insensitive;
- Comparisons of scheme names MUST be case-insensitive;
- An empty abs_path is equivalent to an abs_path of "/".
Characters other than those in the "reserved" and "unsafe" sets (see
RFC 2396 [42]) are equivalent to their ""%" HEX HEX" encoding.
> -----Original Message-----
> From: uri-request@w3.org [mailto:uri-request@w3.org]On Behalf Of Bjoern
> Hoehrmann
> Sent: Saturday, January 06, 2001 9:07 AM
> To: uri@w3.org
> Subject: Testing for equivalenz
>
>
> Hi,
>
> I'd like to know which of these URIs are valid and equivalent.
>
> http://host:80
> http://host:80/
> http://host/
> http://HOST/
> http://hoST/?
> http://hoST/#
> http://host/?#
> http://host#
> http://Host?#
> http://host:80?#
>
> I would say they are all valid and equivalent. If they aren't,
> why?
>
> TIA,
> --
> Bj$B‹S(Bn H$B‹I(Brmann ^ mailto:bjoern@hoehrmann.de ^ http://www.bjoernsworld.de
> am Badedeich 7 $B!<(B Telefon: +49(0)4667/981028 $B!<(B http://bjoern.hoehrmann..de
> 25899 Dageb$B—M(Bl # PGP Pub. KeyID: 0xA4357E78 # http://www.websitedev..de/
>
Received on Monday, 8 January 2001 07:49:16 UTC