Lists Home |
Date Index |
Bob Foster wrote:
> Thomas B. Passin wrote:
>> How's that? RFC 2396 requires a scheme followed by a colon (for an
>> absolute URI), or at least one character for a relative URI -
>> rel_path = rel_segment [ abs_path ]
>> rel_segment = 1*( unreserved | escaped | ";" | "@" | "&" | "=" |
>> "+" | "$" | "," )
>> So you have to have at least one character...
> I certainly don't fault you for this comment. RFC 2396 should earn
> its place in history as an example of how not to write a
> specification mere mortals can understand. Here's the relevant part:
> "C.2. Abnormal Examples
> "Although the following abnormal examples are unlikely to occur in
> normal practice, all URI parsers should be capable of resolving them
> consistently. Each example uses the same base as above.
> "An empty reference refers to the start of the current document.
> "<> = (current document)"
> The RFC specifically allows for an empty reference; in fact, it
> defaults to an empty reference (5.2.7).
Lordy, lordy! I didn't remember seeing that one - although in the copy I
looked at, it is in section C.2, not section 5.2.7.
Speaking of revolting, did you notice this gem, also in C.2?
"Some parsers allow the scheme name to be present in a relative URI if
it is the same as the base URI scheme. This is considered to be a
loophole in prior specifications of partial URI [RFC1630]. Its use
should be avoided.
http:g = http:g ; for validating parsers
| http://a/b/c/g ; for backwards compatibility"