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 |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | Yes | Yes | Yes | Yes | Yes | Yes |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
308 Permanent Redirect
302 Found
, the temporary redirect
© 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