Workarounds for some known bugs in browsers.
Preventing QUERY_STRING from getting corrupted because of &entity key names
In a URL which contains a query string, if the string has multiple parts separated by ampersands and it contains a key named "reg", for example http://my.site.com/foo.pl?foo=bar®=foobar, then some browsers will interpret ® as a magic entity and encode it as ®. This will result in a corrupted QUERY_STRING. If you encounter this problem, then either you should avoid using such keys or you should 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 this: 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 (or so I have been told) is that 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.