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

Reply via email to