Subject: Re: Idempotent partial updates

From: Mike Kelly <[email-masked]>
Date: Thu, 1 Mar 2012 15:01:30 +0000

2012/3/1 Henrik Nordström <[email-masked]>:
> tor 2012-03-01 klockan 01:04 +0000 skrev Mike Kelly:
>
>> Ok, so it sounds to me like you are saying that what would happen in
>> reality is besides the point because there is a rule governing the
>> design of PUT in HTTP/1.x which must not be broken. Is there any
>> evidence of that rule producing some benefit to the web?
>
> Partial PUT have only been deployed in very isolated use cases and I
> have not been in touch of any of them. I am very sure we would have seen
> numerous interop issues and breakage if it had been more widely adopted
> that PUT can be used in this manner.
>
> To counter your question, is there any evidence that misusing PUT for
> partial updates compared to defining a new method for the purpose have
> had any positive benefit to the web?
>

In your own words:

"It's very desirable that it's well known when idempotence can be
unconditionally assumed based on the request alone, as it relates to
when requests can safely be retried at the transport layer in response
to transport failures/events, and also have direct impact on safe use of
transport features such as connection keep-alive and pipelining."

Any applications that use PUT for their partial updates will be
benefitting from infrastructure built around the idempotency of PUT
as described in the above quote. That has resulted in greater
efficiency on the web over the alternative of downgrading to a
non-idempotent method such as POST or PATCH.

Cheers,
Mike