- From: Roy T. Fielding <fielding@kiwi.ics.uci.edu>
- Date: Sun, 10 Aug 1997 23:47:15 -0700
- To: Klaus Weide <kweide@tezcat.com>
- Cc: HTTP Working Group <http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com>
>This shows that at least these two 1.0 proxies do not send their own >version in a forwarded (OR cached) RESPONSE. > >Now for whether they downgrade the version to their own in a REQUEST - >yes, they both do: (only shown for CERN/3.0) Well, I guess that explains the confusion. I have talked to the developers several times and each time was assured that the proxy sent its own version in the message. It didn't occur to me that they would do one thing on the request and a different thing on the response. The *really* boneheaded thing is I just checked Apache's proxy and it does the same stupid thing, and I could have fixed that code myself. *sigh* That covers just about every proxy, if we include Gauntlet as being broken both ways. >The only harm I can see is with a HTTP 1.1 (or higher) client, which could >be misled into believing that it is talking to a 1.1 proxy. As a result >it might attempt to use a 1.1-only feature in a later request through that >proxy - for example sending a chunked request body in a POST. I have a feeling that chunked requests will only be usable by specialized applications. A normal CGI script cannot accept chunked, because CGI/1.1 itself requires a Content-Length. I hesitate to point out the effect it will have on the caching requirements. I'm not too keen on relying on a connection kluge. Given that the critical parts of the versioning semantics are in the request chain and not (yet) in the response chain, how about the following compromise: Follow the existing versioning requirements as-is, except that if the request is HTTP/1.0 (and only HTTP/1.0), then make the response HTTP/1.0. That will allow for future extensions to the protocol in minor versions beyond 1.1 to be protected, but avoid breakage with HTTP/1.0 proxies and the occasionally idiotic client that pukes on HTTP/1.1. It will probably make Jeff happier as well, since it makes detecting an HTTP/1.0 cache much easier. It also requires recycling the HTTP/1.1 specification as Proposed, but that is just a procedural issue. .....Roy
Received on Monday, 11 August 1997 00:10:21 UTC