W3C home > Mailing lists > Public > ietf-http-wg@w3.org > July to September 2011

Re: #160: Redirects and non-GET methods

From: Yves Lafon <ylafon@w3.org>
Date: Mon, 18 Jul 2011 05:23:34 -0400 (EDT)
To: Mark Nottingham <mnot@mnot.net>
cc: HTTP Working Group <ietf-http-wg@w3.org>
Message-ID: <alpine.DEB.1.10.1107180517260.31208@wnl.j3.bet>
On Sun, 17 Jul 2011, Mark Nottingham wrote:

> <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/160>
>
> I've just tested the latest iterations of the browsers, with the following results:
>
> ? Safari/533.21.1 - all 301, 302, 307 rewritten to GET; 303 methods are preserved
> ? Firefox/5.0.1 - all 301, 302 rewritten to GET; 303 and 307 methods are preserved
> ? Chrome/14.0.814.0 - all 301, 302 rewritten to GET; 303 and 307 methods are preserved
> ? Opera/11.50 - all 301, 302 rewritten to GET; 303 methods are preserved; 307 tests crash the browser
> ? MSIE/9.0 (latest) - all 301, 302 methods preserved except POST (changed to GET); all 303, 307 methods are preserved
>
> So, many browsers rewrite many methods to GET on 301 and 302. whereas 
> most browsers preserve methods on 303 and 307*.

Note that the results above are for the XHR-based test.
I tried 307 for POST "natively"
* For Opera/11.50 POST -> 307, popup to chose to redirect while preserving
   the method.
* For Safari 5.0.5 (6533.21.1), POST redirected without a prompt to
   another POST on the new URI.
* Firefox/5.0.1 redirect 307 preserving the method, and warn the user.

So we have different results for the same browser whether or not it's 
using XHR..

> We *could* codify this practice. However, as Julian notes in the bug, the fact that IE doesn't rewrite anything except POST is an existence proof (and a fairly large one) that it's workable to not rewrite the method on non-POST methods.
>
> So, I'm inclined to agree that we could address this by changing 301 an 302 to note that POST is rewritten to GET; it's a smaller change, although it would require changes in more browsers.
>
> Thoughts? Especially from browser people?
>
>
> * Note that this doesn't include HEAD consistently, because HEAD support in XHR seems... spotty. However, where it was tested, it seems to be rewritten to GET.
>
> --
> Mark Nottingham   http://www.mnot.net/
>
>
>
>
>

-- 
Baroula que barouleras, au tiéu toujou t'entourneras.

         ~~Yves
Received on Monday, 18 July 2011 09:23:41 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 06:51:45 GMT