- 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>
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