[racket] Apache redirections
Eli Barzilay wrote at 02/08/2011 11:51 AM:
> [...] It looks like in recent versions of apache (2.2.17) when rewrite rules are applied the URIs will always get escaped. This leads to problems with the racket server's urls -- something like "servlets;blah" gets substituted as "servlets%3Bblah", which means that the ";" lost its [...]
>
Looks like there's been a standards change, and you might want to change
the Racket Web Server...
I'm not sure what happened, but RFC 2396 used to give special meaning to
semicolon (denoting parameters on path segments in hierarchical URIs),
but that was obsoleted by RFC 3986, which seemed to remove the special
meaning.
I've never seen anyone use semicolons in the RFC 2396 intended way in
practice. The PLT Web Server and a couple of other frameworks use them
only on the last path segment (in RFC 2396 interpretation).
In light of the interpretation of RFC 3986, perhaps the Racket Web
Server should resort to parsing the ";" out of the last path segment,
after unescaping. Alternatively, stop using semicolon, and put the
information in an (HTML form GET-like) name-value query parameter of the
HTTP URL instead.
There might be newer specs I'm not aware of. I last implemented RFC
2396, and actually had robust and efficient support for semicolon as
they wanted it at the time. :)
--
http://www.neilvandyke.org/