Is this a case of a server working around a browser bug that is working around a server bug?

Mark [1] is writing an embedable webserver [2] and asked me to look into a rather odd problem he's having. I looked into it, and yes, it's an odd problem.

He's testing the redirection code, so if you give a URL (Uniform Resource Locator) like:

http://www.example.net/news

and news is a directory, then it will redirect you to:

http://www.example.net/news/index.html

So far so good. Only to ease testing, he's running the server on non-reserved TCP (Transmission Control Protocol) port, so the URL:

http://www.example.net:8080/news

is then redirected to

http://www.example.net:8080/news/index.html

And therein lies the odd problem.

Netscape 4.07 and Lynx 2.8.1pre.9 under Linux (okay, RedHat 5.2, my current home platform), when given the new location, goes to

http://www.example.net:8080:8080/news/index.html

Which seems to be okay when you connect directly to the webserver, but gives a web proxy (like squid) fits. IE 5.0.whatever fails entirely. Mozilla 0.9.2.1 under Linux works fine and seems to get the URL processing correct, but Mozilla 0.9.5 under the Macintosh fails much like IE does.

But here's the real kicker: They all work fine when Apache sends the redirect with a port number.

We can't figure it out. As far as we can tell, the server response is the same between Apache and Mark's server, only the server name is different (okay, the HTML page sent with the 30x response is a bit different too, but not my much).

Very odd.

[1] http://www.conman.org/people/myg/

[2] http://gladesoft.com/products/seminole/

Gemini Mention this post

Contact the author