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.
Specification
Registered in the IANA HTTP Status Code Registry as Temporary Redirect. Defined in RFC 9110, Section 15.4.8.
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.
Header and content rules
What RFC 9110 says about a 307 response, quoted from the RFC.
- SHOULD (server; Location): Send Location with the temporary URI. Table row
The server SHOULD generate a Location header field in the response containing a URI reference for the different URI. RFC 9110 §15.4.8
- MUST NOT (user agent; request method): Keep the original request method. When: The user agent follows the 307 automatically. Table row
The 307 (Temporary Redirect) status code indicates that the target resource resides temporarily under a different URI and the user agent MUST NOT change the request method if it performs an automatic redirection to that URI. RFC 9110 §15.4.8
The same rules are in the response obligations table and its JSON.