307 Temporary Redirect (since HTTP/1.1)
This is an educational reference page about HTTP 307 Temporary Redirect. The page itself is served as 200 OK so it can be indexed as HTTP documentation.
In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For example, a POST request should be repeated using another POST request.
What it means
HTTP 307 means the resource is temporarily at another URL and the client must preserve the request method and body.
Common causes
- Temporary redirects for APIs, uploads, or form submissions where POST must stay POST.
- Short-term routing during maintenance or regional traffic shifts.
- A service wants temporary redirect behavior without method rewriting.
How to fix it
- Set Location to the temporary target.
- Use 308 when the method-preserving redirect is permanent.
- Avoid 302 for non-GET requests when method changes would be dangerous.
Example response
HTTP/1.1 307 Temporary Redirect
Location: https://api.example.com/new-region
Developer notes
307 is the safer temporary redirect for APIs because it preserves method and request body.