The HyperText Transfer Protocol (HTTP) 301 Moved Permanently
redirect status response code indicates that the resource requested has been definitively moved to the URL given by the Location
headers. A browser redirects to this page and search engines update their links to the resource (in 'SEO-speak', it is said that the 'link-juice' is sent to the new URL).
Even if the specification requires the method (and the body) not to be altered when the redirection is performed, not all user-agents align with it - you can still find this type of bugged software out there. It is therefore recommended to use the 301
code only as a response for GET
or HEAD
methods and to use the 308
Permanent Redirect
for POST
methods instead, as the method change is explicitly prohibited with this status.
301 Moved Permanently
GET /index.php HTTP/1.1 Host: www.example.org
HTTP/1.1 301 Moved Permanently Location: http://www.example.org/index.asp
Specification | Title |
---|---|
RFC 7231, section 6.4.2: 301 Redirect Permanently | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
The information shown below has been pulled from MDN's Github (https://github.com/mdn/browser-compat-data).
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | Yes | Yes | Yes | Yes | Yes | Yes |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301