What it means
A temporary redirect where a POST must stay a POST. Use this instead of 302 whenever the method matters - it is the unambiguous version.
- Class
- 3xx Redirection
- Defined in
- RFC 9110 §15.4.8
- Cached by default
- No
When you receive a 307
- Repeat the same request - same method, same body - at the
LocationURL. - Chrome's DevTools shows "307 Internal Redirect" when HSTS upgrades a request to HTTPS. The browser generated that one; your server did not send it.
When you send a 307
- Use it for a temporary move where the method must not change: a
POSTstays aPOST. - Prefer it to
302in new code - it removes the ambiguity 302 carries. - Search engines keep indexing the original URL, as they do for 302.
On the wire
HTTP/1.1 307 Temporary Redirect Location: https://eu.api.example.com/v1/uploads