Re: #160: Redirects and non-GET methods

On Mon, 18 Jul 2011, Mark Nottingham wrote:

>
> On 18/07/2011, at 7:23 PM, Yves Lafon wrote:
>
>>> ? 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.
>
>
> How are those different (besides not crashing Opera, of course)?

Well, in XHR Safari rewrite all 307 methods to GET (from your report), not 
if done directly (POST -> 307 -> POST)
In Opera, you report that the method is preserved on 303 (so POST -> 303 
-> POST), while it is transformed in a GET "directly".

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

         ~~Yves

Received on Monday, 18 July 2011 15:00:27 UTC