- 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