HTTP/1.1 & Proxies

Microsoft has decided to ship HTTP/1.1 support in the next beta of IE
4.0, which will be released in the coming weeks. We have been running
tests for some time now and have run into a very serious problem with
some HTTP/1.0 proxies, specifically, Gauntlet. If we send out an
HTTP/1.1 message, rather than replacing HTTP/1.1 with HTTP/1.0, the
proxy will send the message out as is. The 1.1 server now thinks it is
on a clean 1.1 connection and if we are performing a PUT might send
chunked transfer. There is a bug with the proxy that it sometimes
inserts an extra byte in the return stream. The result is that the
integrity of the stream is lost. As such we need a way to tell when we
are dealing with Gauntlet proxies.

I talked to Roy Fielding about this and he suggested we try to send an
OPTIONS to the proxy to see what happened. So I did so and the result
from our Gauntlet installation was:

Error
--------------------------------------------
No default server configured to handle your request
OPTIONS http://www.microsoft.com HTTP/1.1

Given that this response is not even a properly formatted HTTP/1.0
response we figure it is unique enough that we could use it to detect
Gauntlet and make sure to never send 1.1 to the proxy. However this is a
desperate solution, we aren't even sure it will work with all Gauntlet
versions.

Our main concern is that if we can't find a reliable way to route around
this problem we will have to turn off HTTP/1.1 support whenever we are
going through a proxy. While we will provide a switch to turn on 1.1,
obviously, most users will not use it.

Has anyone else running 1.1 on the client side had similar problems? Do
you have a better work around? Do you know of other problems with other
proxies/servers? For example, we found an Apache 1.1.1 server in Norway,
http://home.sol.no, that will reject ANY message with HTTP/1.1 in it. I
have tried to contact the server's owners but I do not speak Norwegian.

	Thanks,
				Yaron

Received on Tuesday, 1 July 1997 00:14:13 UTC