10

Is it safe to use the HTTP status code 308 Permanent Redirect (suggestion) in server responses? The issue with 301 Moved Permanently is that it only works with GET requests (to be fair: POST will transform to GET which is NOT an option).

The status code is very newish in "RFC time" so what would you suggest?

What would a browser do if its not aware of 308? Would it find the location and do 302?

  • Newer even than you seem to realize; it's an RFC now. – Michael Hampton Jul 3 '14 at 14:01
  • 1
    Did you read the Deployment Considerations section? – Håkan Lindqvist Jul 3 '14 at 14:02
  • 308 is not a standard - it's a proposal, still in the experimental stage. Browers should fall back to a 300 interpretation of any 301-399 error that they don't specifically understand. – Chris S Jul 3 '14 at 14:03
  • 1
    Under what scenario would you expect to receive a POST request sent directly to an outdated URL? – Skyhawk Jul 3 '14 at 14:25
  • 1
    @Skyhawk : I work with offline features “of“ html5. For comments or creating new posts the target url may have changed due to modification to the post itself out its categories. – burnersk Jul 8 '14 at 20:08
4

Although 308 is now a standard (https://tools.ietf.org/html/rfc7538), it is not currently Safe [Edit] (as of 3 April 2019), especially for desktop applications, but may be almost safe in some specific regions (e.g. India), or for applications targeted at tablets and mobile devices.

The lack of safety is because IE 11 on Windows 7 and 8.1 does not support it. In IE 11 the site just appears to hang. Luckily the IE that ships with Windows 10 does support it, so it will be just a case of waiting until the general populous moves on from Windows 7 (Win 7 has only just been surpassed by Win 10 in global usage stats, Win 8 is significantly less popular than both) [Edit] or your company makes a decision to no longer support it (which you can make a very strong case for from 14th January 2020 when Windows 7 loses even long term support).

All other modern browsers support it (Chrome, Firefox, Safari, Edge, Opera).

[Edit] Usage stats from March 2019 to help make your decision:

  • 36.52% of desktop users are still on Windows 7
  • 9.83% of desktop users were on IE; as Win10 pushed Edge so much, I'd assume most of these users to be on Win 7. Ref netmarketshare

So, a decision to use 308 would affect probably (my guesstimate based on above stats) between 5 and 9% of desktop users as of this edit (3/4/2019). If your application is geared more towards tablets/mobile devices, this value will be significantly lower. Similarly if your app is specifically for the Indian market.

You can test if your browser supports 308 redirects here: https://webdbg.com/test/308/

  • Note that this is different from 307. IE 11 on Windows 7 supports HTTP 307 without issue. (Why?) – Franklin Yu Aug 7 '18 at 19:09
6

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

The RFC 7538 proposal have wide support today. It's safe.

308 instead 301. 307 instead 302.

move != redirect

Move reminds a specific address and/or file moved. Redirect is a new location or address.

  • 1
    As of now (20 Feb 2018) it is not yet safe due to the number of people on Windows 7 using IE 11 which still does not support this. – monty Feb 19 '18 at 20:53
  • @monty what was that number? what is it now? – Robin Winslow Mar 30 at 14:18
  • As of March 2019, 36.52% of desktop users are still on Windows 7, and 9.83% of desktop users were on IE. – monty Apr 2 at 23:47
2

To end this: No it is not safe to use that status code. See comments for details.

308 is not a standard - it's a proposal, still in the experimental stage. Browers should fall back to a 300 interpretation of any 301-399 error that they don't specifically understand.

Some browsers just fail completely on that status code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.