New issue: redirected PUT, was: server applying PUT to a resource other than the request-URI

Roy T. Fielding wrote:
> ...
> The answer is that if PUT is used and the server needs to redirect
> the request, then redirect with 307.  Any other response in that case
> is not compliant with HTTP.  If the server doesn't want that to happen
> then it will offer a POST interface instead, just like the spec says.
> ...

HTTPbis currently says in 
<http://svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/p2-semantics.html#rfc.section.8.6>:

"In contrast, the URI in a PUT request identifies the entity enclosed 
with the request -- the user agent knows what URI is intended and the 
server MUST NOT attempt to apply the request to some other resource. If 
the server desires that the request be applied to a different URI, it 
MUST send a 301 (Moved Permanently) response; the user agent MAY then 
make its own decision regarding whether or not to redirect the request."

Note it says "MUST send 301".

So should this be changed to say 307 instead? (I'm a bit concerned that 
this is currently is a MUST level requirement, so changing it to 307 
will affect servers that are currently conformant).

BR, Julian

Received on Tuesday, 21 October 2008 15:50:48 UTC