W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2007

Re: Updated PATCH draft

From: Jamie Lokier <jamie@shareable.org>
Date: Sun, 9 Dec 2007 18:23:46 +0000
To: Subbu Allamaraju <subbu.allamaraju@gmail.com>
Cc: James M Snell <jasnell@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, atom-protocol <atom-protocol@imc.org>
Message-ID: <20071209182346.GA3626@shareable.org>

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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 06:50:23 GMT