Re: Updated PATCH draft

Subbu Allamaraju wrote:
> 
>    "Clients are advised to take caution when sending multiple PATCH
>    requests, or sequences of requests that include PATCH, over a
>    pipelined connection as there are no guarantees that pipelined
>    requests will be processed by the server in the same order in which
>    the client sends them."
> 
>    Since 2616 says that clients SHOULD NOT pipeline non-idempotent
>    methods, and since PATCH is a  non-idempotent method, any reason why a
>    similar conformance level is not presented here?

You're right, hence the advice to take caution :-)

>    Secondly, are there cases when pipelined requests will be
>    processed out of order?

Yes, a server may process the requests in parallel, or a load
balancing reverse proxy may forward the requests to different servers
to process in parallel, or the requests may be converted to HTTP/1.0
or otherwise de-pipelined by some ordinary proxy in the chain and
then subject to ordinary network reordering.

>    2616 explicitly prohibits sending responses out of order (
>    [1]8.1.1.2).

Yes, as there's no other way to associate responses with requests
(unfortunately, sometimes).

However, it does not prohibit the requests being processed and
responses being generated and stored temporarily out of order, and in
fact it couldn't prohibit that due to the de-pipelining mentioned
above.  Reliable controlled ordering of pipelined request processing
would require a non-trivial protocol extension.

-- Jamie

Received on Sunday, 9 December 2007 18:24:02 UTC