Preventing QUERY_STRING from getting corrupted because of &entity key names.

In a URL such as http://my.site.com/foo.pl?foo=bar&reg=foobar , some browsers will interpret &reg 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.

See Publishing Port Numbers Different from 80