The HTTP 307
Temporary Redirect
redirect status response code indicates that the resource requested has been temporarily moved to the URL given by the {{HTTPHeader("Location")}} headers. A browser redirects to this page, but search engines don't update their links to the resource (In SEO-speak, it is said that the link-juice is not sent to the new URL).
The method and the body of the original request are reused to perform the redirected request. In the cases where you want the method used to be changed to {{HTTPMethod("GET")}}, use {{HTTPStatus("303")}} See Also
instead. This is useful when you want to give an answer to a {{HTTPMethod("PUT")}} method that is not the uploaded resources, but a confirmation message (like "You successfully uploaded XYZ").
The only difference between 307
and {{HTTPStatus("302")}} is that 307
guarantees that the method and the body will not be changed when the redirected request is made. With 302
, some old clients were incorrectly changing the method to {{HTTPMethod("GET")}}: the behavior with non-GET
methods and 302
is then unpredictable on the Web, whereas the 307
one is. For GET
requests, their behavior is identical.
Status
307 Temporary Redirect
Specifications
Specification | Title |
---|---|
{{RFC("7231", "307 Temporary Redirect" , "6.4.7")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Browser compatibility
The compatibility table in this page is generated from structured data. If you’d like to contribute to the data, please check out https://github.com/mdn/browser-compat-data/README.md and send us a pull request.
{{Compat}}
See also
- {{HTTPStatus("302")}}
Found
, the equivalent of this status code, but that never changes may change the method used when it is not a {{HTTPMethod("GET")}}. - {{HTTPStatus("303")}}
See Also
, a temporary redirect that changes the method used to {{HTTPMethod("GET")}}. - {{HTTPStatus("301")}}
Found
, the temporary redirect