HTTP 307 Temporary Redirect: What It Means and When You See It
Quick Answer
HTTP 307 Temporary Redirect is similar to 302 but guarantees the HTTP method does not change during redirect. A POST request stays a POST.
HTTP 307 vs 302
HTTP 307 Temporary Redirect preserves the HTTP method and body. A POST to a 307 endpoint redirects as a POST to the new URL. HTTP 302 does not guarantee method preservation - most browsers convert POST to GET on a 302 redirect. Use 307 when redirecting form submissions or API POST/PUT requests temporarily. Use 302 for page redirects where GET is always the final method. Next.js server-side redirect() uses 307 by default.
When to Use 307
Use 307 for: temporary API gateway routing where POST payloads must be forwarded, load balancer redirects for non-GET methods, feature flag redirects for API endpoints, and OAuth flows where the method must be preserved. In Express: res.redirect(307, "/new-url"). The client will re-POST the original body to the new URL. Always pair 307 with a short or no cache TTL - it is a temporary redirect by definition.
Try the interactive tool
Convert any value instantly — no sign-up required
Frequently Asked Questions
Related Values
100
HTTP 100 Continue means the server has received the request headers and the client should proceed to send the request body. It is an interim response used to inform the client to continue.
101
HTTP 101 Switching Protocols indicates the server is switching to the protocol specified in the Upgrade header field. Commonly used when upgrading to WebSocket connections.
200
HTTP 200 OK is the standard success response. The request has succeeded and the server has returned the requested resource in the response body.
201
HTTP 201 Created means the request succeeded and a new resource was created as a result. The Location header typically points to the new resource URL.