Re: PROPOSAL: i99 Pipelining Problems

Henrik Nordstrom wrote:
> > One point of confusion that comes up from time to time is the issue of 
> > ordering -- can a client that sends pipelined requests rely on the 
> > results arriving in the same order.
> 
> Yes, it's clearly specified in a MUST level server requirement.
> 
>         A server MUST send its responses to those requests in the same
>         order that the requests were received.
> 
> Implementations not following this is not HTTP compliant, only broken
> and buggy.

Indeed, it's also obvious: there's no way (in standard HTTP) for a
client to recognise misordered responses so they _must_ be in order.

However, I think the "point of confusion" may really have been about
whether requests must be _processed_ in order.  E.g. is a pipelined
POST followed by GET on the same connection required to be processed
in that order.

It seems that proxies can forward pipelined requests onto different
connections, and then the network might reorder them, so the order of
processing is not guaranteed.  But also, in practice, most proxies
seem to keep requests from the same connection forwarded to the same
connection, perhaps to avoid those surprises ;-)

-- Jamie

Received on Sunday, 6 April 2008 14:45:24 UTC