Re: #160: Redirects and non-GET methods

On Mon, Jul 18, 2011 at 8:18 AM, Julian Reschke <julian.reschke@gmx.de> wrote:
> On 2011-07-18 17:00, Yves Lafon wrote:
>> 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)
>
> As far as I recall, Safari has different code paths, and the bug only
> applies to synchronous XHR (when does it get fixed? the bug report is almost
> three years old...).

Bug number?

Adam


>> In Opera, you report that the method is preserved on 303 (so POST -> 303
>> -> POST), while it is transformed in a GET "directly".
>
> ...but didn't you say:
>
> "For Opera/11.50 POST -> 307, popup to chose to redirect while preserving
> the method."
>
> Typo?
>
> Best regards, Julian
>
>
>
>

Received on Monday, 18 July 2011 19:17:38 UTC