Re: Editorial note and question on connections

> >     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