- From: Scott Lawrence <lawrence@agranat.com>
- Date: Tue, 16 Feb 1999 13:36:38 +0000
- To: HTTP Working Group <http-wg@cuckoo.hpl.hp.com>
> > Second, I was looking through this section trying to find > > out if it's legal for proxies to multiplex requests from > > different clients on the same connection to a server. Jeffrey Mogul wrote: > Its's legal, but not advisable. [...] > It might have been a good idea to explain the reasons behind > this a bit more carefully. > > The problem is "head-of-line blocking." Consider, in your > scenario, what would happen if A makes a request that generates > a really lengthy response, and then B issues a request. Because > there is no packet-level multiplexing, B has to wait until > A's response is fully transmitted. Jeff, your answer deals well with the question of whether or not a proxy should pipeline requests from different clients on a single connection - that is, whether or not it should send the request from B on the same connection before the response for A has completed. I agree that for the reason you gave, this is a bad idea; but this is just a partial answer to the original question. Suppose that the proxy is 1.1, sends a request and receives a 1.1 response that does not specify 'Connection: close'. There is no reason why the proxy should not keep that now-idle connection open for a reasonable time in anticipation of another request to the same server, even if that request comes from a different client. This might often be very advantageous if the target server is a busy sight often accessed through the proxy (an upstream proxy, altavista, the corporate internal web site at HQ overseas). For this reason, origin servers should never assume that requests received on the same TCP connection are from the same user agent. -- Scott Lawrence Director of R & D <lawrence@agranat.com> Agranat Systems, Inc. Embedded Web Technology http://www.agranat.com/
Received on Tuesday, 16 February 1999 05:47:06 UTC