Re: PROPOSAL: i99 Pipelining Problems

I don't recall how it was a SHOULD NOT instead of MUST NOT, but there is
no way with pipelined requests for a client to besure that non-idempotent
requests are handled properly unless the client waits for the 200 OK or
equivalent response before making the next request. Even an origin server
can process two pipelined requests out of order if individual requests are
farmed out to different threads/processes.

Even idempotent requests can obtain the wrong response if processed before
completion of a prior non-idempotent request.

Dave Morris

On Sun, 6 Apr 2008, Henrik Nordstrom wrote:

>
> sön 2008-04-06 klockan 15:44 +0100 skrev Jamie Lokier:
>
> > 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.
>
> Specs says nothing about how requests is processed. Only that
>
>         "Clients SHOULD NOT pipeline requests using non-idempotent
>         methods or non-idempotent sequences of methods".
>
> > 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 ;-)
>
> Most proxies don't do pipelining at all, but do allow clients to queue a
> pipeline of requests at the proxy.
>
> Regards
> Henrik
>

Received on Sunday, 6 April 2008 23:10:22 UTC