- From: Josh Cohen <josh@netscape.com>
- Date: Wed, 03 Sep 1997 18:28:19 -0700
- To: HTTP Working Group <http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com>
- Message-Id: <340E0EB3.CBE83291@netscape.com>
-- ----------------------------------------------------------------------------- Josh Cohen <josh@netscape.com> Netscape Communications Corp. http://people.netscape.com/josh/ "You can land on the sun, but only at night"
Greetings, At Munich, we discussed the RE-VERSION issue. The issue is should the response version be the server's version advertisement or the message version. After yet another heated discussion:), my impression is that in the absence of a compelling bustage, the current semantics should remain the same, ie response version = server version. I also want to note, that (IMHO) most people felt that they would prefer a message version, but at this stage, it was too late to change it. (in the absence of a compelling bustage). So, to close the issue, I'd like to get ready to last call this issue. To do so, Id like to move forward, if the following issues are deemed resolved: (These are possible problems that we run into with the current semantics, along with ways of making them work) The current proposal: Leave the version as-is, but clarify that proxies MUST upragde all requests to the proxy's highest version. Issues; issue: cache-label: How does a proxy label a cache entry, and when can it use the cache entry to satisfy subsequent requests. solution: as long as the proxy always upgrades to the highest version, it can be confident that it has the 'best response' in its cache and can satisfy both http/1.1 and http/1.0 requests in the future. issue: chunked POST: this was the only concrete use where the server version is useful. Unfortunately, even 1.1 proxies/servers may not support a chunked POST. Since this is a fringe case, its not a show stopper either way. Another method, possibly OPTIONS is necessary to determine if a chunked post will succeed. solution: none as-is issue: keep-alives in client If you have: 1.1 client -> 1.0 proxy -> 1.1 server The client will issue a 1.1 request, the proxy will downgrade it to 1.0, and the server will respond with a 1.1 response. (but 1.0 compatible, ie no chunked encoding ) The proxy will then blindly forward the response ( 1.1) back to the client. If the client was assuming persistent connections, but the 1.0 proxy doesnt support keep-alives, how should the client behave? How can it recognize that its request path it really 1.0 and not 1.1? Presumably, the client will assume 1.1 and that persistent connections are OK, but the proxy willl be closing the connections after each request. solution: The client will recognize the closed connection ( at some point ) and re-open a new connection. Unfortunately, some clients will deal with this in an extremely unpleasant manner, not recognizing the closed connection immediately. In general, how should the connection semantics be handled? The client now beleives it has a 1.1 session, but in fact, it does not. issue: keep-alives in server By default, persistent connections are supposed to be used in 1.1. When a server receives a downgraded request from a proxy, which came from a 1.1 client, should it respond with a connection: close? Issue: (related) the draft says that connection and response version are hop-by-hop, but it also says that a proxy may act as a 'tunnel' at any time. These are contradictory, since proxies may downgrade a request, but tunnel the response, which breaks the hop-by-hop nature of response version.
Received on Wednesday, 3 September 1997 18:30:50 UTC