- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Wed, 24 Oct 2012 13:24:37 +0200
- To: Mark Nottingham <mnot@mnot.net>
- CC: Maciej Stachowiak <mjs@apple.com>, HTTP Working Group <ietf-http-wg@w3.org>
On 2012-10-24 03:39, Mark Nottingham wrote: > Now <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/388>. Is editorial, since the decision was already made in #238. > ... I believe we can just drop that sentence, as there's another paragraph later on that deals with the issue. With that change, the introduction would read: 7.4. Redirection 3xx This class of status code indicates that further action needs to be taken by the user agent in order to fulfill the request. There are several types of redirects: 1. Redirects of the request to another URI, either temporarily or permanently. The new URI is 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. 2. 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). 3. Redirection offering a choice of matching resources for use by reactive content negotiation (Section 3.4.2). This is status code 300 (Multiple Choices). 4. Other kinds of redirection, such as to a cached result (status code 304 (Not Modified), see Section 4.1 of [Part4]). Note: In HTTP/1.0, only the status codes 301 (Moved Permanently) and 302 (Found) were defined for the first type of redirect, and the second type did not exist at all ([RFC1945], Section 9.3). However it turned out that web forms using POST expected redirects to change the operation for the subsequent request to retrieval (GET). To address this use case, HTTP/1.1 introduced the second type of redirect with the status code 303 (See Other) ([RFC2068], Section 10.3.4). As user agents did not change their behavior to maintain backwards compatibility, the first revision of HTTP/1.1 added yet another status code, 307 (Temporary Redirect), for which the backwards compatibility problems did not apply ([RFC2616], Section 10.3.8). Over 10 years later, most user agents still do method rewriting for status codes 301 and 302, therefore this specification makes that behavior conformant in case the original request was POST. A Location header field on a 3xx response indicates that a client MAY automatically redirect to the URI provided; see Section 8.1.2. Note that for methods not known to be "safe", as defined in Section 5.2.1, automatic redirection needs to done with care, since the redirect might change the conditions under which the request was issued. 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. (see <http://trac.tools.ietf.org/wg/httpbis/trac/attachment/ticket/388/388.diff>) Best regards, Julian
Received on Wednesday, 24 October 2012 11:31:42 UTC