- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Mon, 18 Jul 2011 17:18:28 +0200
- To: Yves Lafon <ylafon@w3.org>
- CC: Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
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...). > 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 15:19:00 UTC