Re: HTTP/1.1 Pipelining

On Fri, 11 Apr 1997, Josh Cohen wrote:

> Hey everybody!
> 
> After the wg meetings I was reviewing the notes on pipelining in the
> connection mgt draft and rfc 2068.
> I have a few questions which relate to proxy server behavior..
> 
> When a client is talking to a proxy server and is pipelining requests,
> should it use a single pipeline connection to issue requests to 
> different origin servers ?
> ie should GET http://www.ups.com/ HTTP/1.1
>    and    GET http://www.fedex.com/ HTTP/1.1 
> be sent over the same pipeline or should a new connection be established.
> A common occurence of this is when advertisement gifs come from a 
> different server than the html file.
> 
> I guess the question becomes :
> Can requests in the same pipeline be to different origin servers?

Yes ... but there are some reasons why it may not be advisable from a
implementation design perspective.  Consider the case where request
below to foo.com takes forever to discover the DNS name is invalid. 
The response from bar.com must wait and the requesting client has no
clue why.

> 
> With the advent of pipelined persistent connections ( and to a lesser
> extend 1.0 keep alives ), the distinction of 'who the client is
> talking to' is confusing to me.  Since while the client may be
> pipelining to a proxy, and the proxy can go ahead and do an
> old style connection to an origin server, how does the client deal
> with old responses?
> Assuming the answer to the previous question,  is yes...
> 
> IE: client pipelines:
>   GET http://www.foo.com/ HTTP/1.1
>   GET http://www.bar.com/ HTTP/1.1
> what happens if foo.com is a 1.1 server ( the proxy can do a
> persistent conenction ) and bar.com is 1.0 (proxy cannot)?
> 
> Also, when the responses come back to the client, the first is
> a 1.1 response, and the second is a 1.0 response ..

Should not matter from a functional perspective.  The 1.1 proxy simply
returns the responses to the client in the order requested. Since the
proxy->client response must conform to http/1.1, I would expect it to
adjust the 1.0 response headers if needed ... can't imagine what the 
need would be.  And of course the connection management headers are
hop-hop and as such must be adjusted before the response is forwarded.


> 
> How should the client or proxy behave ?

The proxy can contact both servers (and may already have an open 
persistent connection to the 1.1 server idle after handling another
client's request) and the only requirement is that the proxy return the
responses in the same order as received.

Dave Morris

Received on Saturday, 12 April 1997 05:26:37 UTC