Re: Idempotent partial updates

> I would propose one can never assume any method is idempotent, since that is up to server-side implementation.

A number of functions in the HTTP architecture rely on the defined properties of the methods (such as idempotence, safeness).
If the methods no longer have useful properties, we can replace all of them with MAKEITSO or some such.

> Whether in practise PUT is usually actually idempotent or not I don't have any information. 

Plain HTML pages can only trigger GET (links) and POST (forms), so PUT has been a bit of a specialty for the browser web.
Ajax and RESTful Web APIs changed that.  
I seem to remember Amazon AWS relied on range-PUTs heavily for a while (which, I think, is what we are discussing here).
Incidentally, the other REST protocol, CoAP, has them (and needs them for requests with data > desired datagram size), but in a specialized form.

> But my feeling is there is a disconnect between HTTP and those making websites in this regard.

There used to be a strong disconnect a decade ago.
Prefetchers like Google Web Accelerator helped fix that :-)
Security considerations further caused people to keep the difference between methods in mind.
Modern web dev frameworks also helped sites to start conforming.
Nowadays, rookie web developers learn this stuff pretty quickly.

Grüße, Carsten

Received on Tuesday, 28 February 2012 01:49:05 UTC