- From: Bruce Lilly <blilly@erols.com>
- Date: Fri, 27 May 2005 18:07:51 -0400
- To: uri@w3.org
- Cc: "Robert Buck" <Robert.Buck@mathworks.com>
On Fri May 27 2005 15:39, Robert Buck wrote:
>
> You indicated that "scheme://" was legal syntax.
>
> Using the regular expression cited in the text of the spec on this uri
> produces:
>
> {scheme,undefined,undefined,undefined,undefined}
>
> which when you run through the recomposition algorithm cited results in:
>
> scheme:
>
> which is somewhat different from the input. Then is "scheme:" and
> "scheme://" equivalent?
The short answer is "maybe". The long answer:
Technically, the "//" delimits "authority path-abempty" and differentiates
that "hier-part" from other types of path-* components. In this particular
case as both authority and path-abempty are null, there isn't anything to
delimit. In "scheme:", there is no hier-part, there is path-empty. The
former has a mandatory "host" in authority, which happens to be empty
(normally it would be a domain name.
Semantically (which is what your question boils down to), there is a
difference between a host with an empty name and an empty path with no
host, inasmuch as the former specifies a host and the latter does not.
John Cowan reported that Mozilla treats the two differently; Konqueror
treats them as the same (it rewrites "about://" to "about:"). So at
best it's a gray area where there exist implementation differences.
Received on Friday, 27 May 2005 22:07:57 UTC