W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2006

PUT, side effects and 201 Created?

From: Mark Nottingham <mnot@yahoo-inc.com>
Date: Mon, 3 Apr 2006 16:25:47 -0700
Message-Id: <14CD0D0B-6876-4E91-BF34-2BD392D3C162@yahoo-inc.com>
To: ietf-http-wg@w3.org

2616 specifically allows PUT to have side effects;

> A single resource MAY be identified by many different URIs. For  
> example, an article might have a URI for identifying "the current  
> version" which is separate from the URI identifying each particular  
> version. In this case, a PUT request on a general URI might result  
> in several other URIs being defined by the origin server.
>
> HTTP/1.1 does not define how a PUT method affects the state of an  
> origin server.
and it also says (in the context of PUT)

> If a new resource is created, the origin server MUST inform the  
> user agent via the 201 (Created) response.
So, if I PUT something to /foo, and it has the side effect if  
creating /foo;2006-04-03, is the response required to be a 201 Created?

I.e., read literally, the above requirement requires a 201 Created  
when PUT results in *any* resource being created -- even as a side  
effect.

This is IMO unnecessarily constraining, and should be relaxed; e.g.,  
changed to something like

"If a new resource is created at the Request-URI, the origin server  
MUST inform the user agent via the 201 (Created) response."

--
Mark Nottingham
mnot@yahoo-inc.com
Received on Monday, 3 April 2006 23:26:53 GMT

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