Ticket #21 (closed design: fixed)
PUT side effects
|Reported by:||email@example.com||Owned by:|
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
- version set to d00
- Component set to semantics
- Milestone set to unassigned