[wp-trac] [WordPress Trac] #16888: WP HTTP Curl transport is only handling some but not all redirect status codes.
WordPress Trac
wp-trac at lists.automattic.com
Wed Mar 23 01:20:21 UTC 2011
#16888: WP HTTP Curl transport is only handling some but not all redirect status
codes.
-------------------------+-----------------------------
Reporter: hakre | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Future Release
Component: HTTP | Version: 3.1
Severity: normal | Resolution:
Keywords: has-patch |
-------------------------+-----------------------------
Changes (by dd32):
* type: defect (bug) => enhancement
* milestone: Awaiting Review => Future Release
Comment:
Replying to [comment:7 hakre]:
> Done: [http://hakre.wordpress.com/2011/03/21/http-redirect-codes-3xx-
and-the-location-field/ HTTP Redirect Codes (3xx) and the Location Field]
Looks like you've inverted all your logic there. By your logic we
shouldn't redirect in every case we currently do.
Summarizing here for the purpose of keeping things in one place:
http://tools.ietf.org/html/rfc2616
{{{
10.3.1 300 Multiple Choices
The requested resource corresponds to any one of a set of
representations, each with its own specific location, and agent-
driven negotiation information.
If the server has a preferred choice of representation, it SHOULD
include the specific URI for that representation in the Location
field; user agents MAY use the Location field value for automatic
redirection.
10.3.4 303 See Other
The response to the request can be found under a different URI and
SHOULD be retrieved using a GET method on that resource.
10.3.6 305 Use Proxy
The requested resource MUST be accessed through the proxy given by
the Location field. The Location field gives the URI of the proxy.
The recipient is expected to repeat this single request via the
proxy.
10.3.8 307 Temporary Redirect
The requested resource resides temporarily under a different URI.
The temporary URI SHOULD be given by the Location field in the
response.
If the 307 status code is received in response to a request other
than GET or HEAD, the user agent MUST NOT automatically redirect the
request unless it can be confirmed by the user, since this might
change the conditions under which the request was issued.
}}}
Selectively copied segments which is of use to this ticket, both 303 and
307 specify that many HTTP 1.0 clients do not understand them, and a 302
is recommended for interoperability. 300 can be treated like a 301/302 (As
we do not do user-agent negotiation, if the servers preferred method is
there, take it)
I'm throwing this into Future Release as a enhancement, The WP_HTTP class
currently supports the most common redirection methods in use on the web
today (I'd challenge anyone to find anyone actively using them..)
--
Ticket URL: <http://core.trac.wordpress.org/ticket/16888#comment:10>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list