Re: #160: Redirects and non-GET methods

In situ proposal, with a few tweaks:

"""
8.3.  Redirection 3xx

This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request.

There are several types of redirects:

  o  Redirection of the request to another URI, either temporarily or permanently. The new URI is specified in the Location header. In this specification, the status codes 301 (Moved Permanently), 302 (Found), and 307 (Temporary Redirect) fall under this category.

  o  Redirection to a new location that represents an indirect response to the request, such as the result of a POST operation to be retrieved with a subsequent GET request.  This is status code 303 (See Other).

  o  Redirection offering a choice of matching resources for use by agent-driven content negotiation (Section 5.2 of [Part3]).  This is status code 300 (Multiple Choices).

  o  Other kinds of redirection, such as to a cached result (status code 304 (Not Modified)).

When redirection results in a new URI, user agents MUST NOT automatically make a request to it UNLESS the request method to be used is safe (Section 7.1.1). 

Clients SHOULD detect and intervene in cyclical redirections (i.e., "infinite" redirection loops).

    Note: An earlier version of this specification recommended a maximum of five redirections ([RFC2068], Section 10.3).  Content developers need to be aware that some clients might implement such a fixed limitation.
"""


On 25/08/2011, at 5:41 AM, Julian Reschke wrote:

> On 2011-07-17 13:16, Mark Nottingham wrote:
>> <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/160>
>> ...
> 
> I think to make things clearer, we need more introductory text, instead if repeating ourselves all over again in the individual status descriptions.
> 
> Here's an attempt to describe the different types of redirects:
> 
>   There are several types of redirects:
> 
>   o  Redirects due to a new URI being assigned to the resource, either
>      temporarily or permanently -- the original request will need to be
>      repeated against the URI specified in the Location header field.
> 
>      In this specification, the status codes 301 (Moved Permanently),
>      302 (Found), and 307 (Temporary Redirect) fall under this
>      category.
> 
>   o  Redirects to a new location that represents an indirect response
>      to the request, such as the result of a POST operation to be
>      retrieved with a subsequent GET request.  This is status code 303
>      (See Other).
> 
>   o  Redirects offering a choice of matching resources for use by
>      agent-driven content negotiation (Section 5.2 of [Part3]).  This
>      is status code 300 (Multiple Choices).
> 
>   o  Other kinds of redirects, such as to a cached result (status code
>      304 (Not Modified)).
> 
> Feedback appreciated, Julian
> 
> 
> 
> 

--
Mark Nottingham   http://www.mnot.net/

Received on Tuesday, 30 August 2011 12:19:21 UTC