RE: Feedback on ISSUE 27 (PUT idempotency)

ons 2007-01-03 klockan 11:05 -0800 skrev Paul Leach:
> The definition of idempotent is a little too strict.
> 
> A better definition would say that if there are two identical PUTs to a
> URI and then a GET to the _same_ URI, it should behave the same as just
> one PUT and then a GET to that URI. It is overly restrictive to talk
> about GETs to _other_ URIs (such as the ones that contain version
> numbers).

Agreed.

> However, even the above is tricky -- concurrent writers can intervene
> between a PUT and a GET, so the client can't in general actually count
> on using the above definition.

The problem with concurrent writer cases should be obvious to most
implementers, and is additionally covered in "14.24 If-Match" and "14.26
If-None-Match". Only significant problem there related is that it's not
trivial for a client to differentiate between a missing response to PUT
where the action had actually been carried out, or other concurrent
write access to the same URI. Perhaps adding a reference to these would
clarify things a bit.

But still, most often concurrent access does not change the idempotence
property of the request as such. idempotence is about the effects on the
server state of this request, not the lost update problem.

Regards
Henrik

Received on Thursday, 4 January 2007 07:17:04 UTC