Preventing QUERY_STRING from getting corrupted because of &entity key names.
In a URL such as http://my.site.com/foo.pl?foo=bar®=foobar
, some browsers will interpret ®
as a magic entity, and encode it as ®
, which will result in a corrupted QUERY_STRING
. If you encounter this problem you should either avoid using such keys or separate parameter pairs with ;
instead of &
. Both CGI.pm
and Apache::Request
support a semicolon instead of an ampersand as a separator. So your URI should look like: http://my.site.com/foo.pl?foo=bar;reg=foobar
.
Note that this is only an issue when you are building your own URLs with query strings. It is not a problem when the URL is the result of submitting a form because the browsers _have_ to get that right.
IE 4.x does not re-post data to a non-port-80 URL
One problem with publishing 8080 port numbers is that (so I was told) IE 4.x has a bug when re-posting data to a non-port-80 URL. It drops the port designator and uses port 80 anyway.