W3C home > Mailing lists > Public > ietf-http-wg@w3.org > January to March 2012

Re: Idempotent partial updates

From: Roy T. Fielding <fielding@gbiv.com>
Date: Tue, 28 Feb 2012 11:54:51 -0800
Cc: Julian Reschke <julian.reschke@gmx.de>, Martin Thomson <martin.thomson@gmail.com>, Mike Kelly <mikekelly321@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Message-Id: <1990103D-89D2-42D6-9DCC-0791416E810B@gbiv.com>
To: Carsten Bormann <cabo@tzi.org>
On Feb 28, 2012, at 9:31 AM, Carsten Bormann wrote:

> I'm not sure we are communicating.
> 
> In the web-as-deployed, partial updates often use the PUT method.

In the Web as defined, standardized, and deployed, those partial
updates using the PUT method are not interoperable with standard
HTTP/1.x servers.  That has been known since the idea was first
brought up and has not changed since then.  We could not make
non-compatible changes to an existing method in 1996, nor 1999,
nor can we do so now in 2012.  There is no such thing as partial
updates using PUT.  At best, there are some standard servers that
actively reject partial updates using PUT in order to prevent such
misbegotten behavior from corrupting their data store.

Any software that uses Content-Range in PUT requests is BROKEN.
Regardless of what we have in the spec, they are still BROKEN.
They simply do not interoperate over HTTP.  They only interoperate
with non-standard servers.

That is why I defined PATCH in 1994.  That is why there is a
proposed standard for PATCH now.  That is why all HTTP servers
that want to support partial updates will either use PATCH or
be forever broken.

Standards are based on what we know will work on the Internet.
We know partial PUT does not work.  Hence, it is not and has never
been part of the HTTP standard.

....Roy
Received on Tuesday, 28 February 2012 19:55:16 GMT

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