Andreas Otte wrote:
>
> 1. \ to / conversion:
Converting \ to %5c is just as wrong as converting to / .
Strictly speaking we should cut a URI at the \ and assume
it to be a extension to the standard we don't understand.
RFC 2396, 2.4.3:
Other characters are excluded because gateways and other transport
agents are known to sometimes modify such characters, or they are
used as delimiters.
unwise = "{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"
Ok, we are no "transport agent", but if we modify \ at all,
why not do what the author probably meant? I vote for IE-like
behavior here.
> 2. RFC 2396 versus RFC 1808
[...]
> Given a base url like: "http://www.foo.bar/path/file;param?query#ref"
>
> and the following relative urls with RFC 1808 result in:
>
> ";param2" "http://www.foo.bar/path/file;param2" (5.1)
> "?query2" "http://www.foo.bar/path/file;param?query2" (5.1)
> "" "http://www.foo.bar/path/file;param?query#ref" (5.2)
>
> and with RFC 2396 result in:
>
> ";param2" "http://www.foo.bar/path/;param2" (C.1)
> "?query2" "http://www.foo.bar/path/?query2" (C.1)
> "" "http://www.foo.bar/path/file" (C.2)
The last line seems to be wrong. As I understand RFC 2396 (4.2)
it would be
"" "http://www.foo.bar/path/file;param?query#"
(top of the document).
It's even worse with a base URL like
"http://www.foo.bar/path;param/file;param":
";param2":
"http://www.foo.bar/path;param2" in RFC 1808, but
"http://www.foo.bar/path;param/;param2" in RFC 2396.
"file2":
"http://www.foo.bar/file2" in RFC 1808, but
"http://www.foo.bar/path;param/file2" in RFC 2396.
See http://bugzilla.mozilla.org/show_bug.cgi?id=84409 .
> So we already have different implementations. This means that authors
> cannot rely on either behaviour, and therefore we might as well do it
> right. The only problem is that the most non compliant browser is the
> one with the biggest market share.
>
> If we fully comply with RFC2396 (do the right thing with "") we will be
> compatible with NN4 in the ?/; issue, but not with the "" issue. We are
> currently incompatible with IE on the ;/? issue and will then also be on
> the "" issue.
I'd go with RFC 2396, but "" is not consistent in RFC 2396.
Resolving it to "http://www.foo.bar/path/" would follow the
logic used elsewhere in RFC 2396.
> I wanted to make these issues more public to get more input on which way
> to go.
Another issue is "http:/path/file".
Clarence
Re: Standards compliance versus compatibility
Clarence (Andreas M. Schneider) Sat, 04 Aug 2001 09:31:51 -0700
- Standards compliance versus compatibility Andreas Otte
- Re: Standards compliance versus compa... Clarence (Andreas M. Schneider)
- Re: Standards compliance versus compa... Miles Sabin
- Re: Standards compliance versus compa... Andreas Otte
- Re: Standards compliance versus c... Miles Sabin
- Re: Standards compliance versus compa... Andreas Otte
- Re: Standards compliance versus compa... Clarence (Andreas M. Schneider)
- Re: Standards compliance versus c... Clarence (Andreas M. Schneider)
- Re: Standards compliance versus compa... Andreas Otte
- Re: Standards compliance versus compa... Clarence (Andreas M. Schneider)
- Re: Standards compliance versus c... Andreas Otte
