HTTP 307 Temporary Redirect โ Meaning, Causes & How to Fix
The request should be repeated at another URL using the same method and body.
- Code
- 307
- Name
- Temporary Redirect
- Class
- 3xx Redirection
- Specification
- RFC 9110 ยง15.4.8
- Cacheable by default
- Only with explicit Cache-Control / Expires
What HTTP 307 means
307 Temporary Redirect is the strict version of 302: the client must repeat the request at the new URL with the same method and body. A POST stays a POST. Browsers also show an internal 307 when HSTS forces http:// to https:// before any request is sent.
Common causes
- Temporary maintenance or load-balancing redirects in APIs.
- HSTS: Chrome displays an โInternal Redirectโ 307 from http to https.
How to fix it
For site owners
- Use 307 for temporary moves where a POST/PUT must keep its body.
- If the move is permanent, use 308.
For visitors & developers
- Re-send the identical request to the
LocationURL.
SEO impact
Treated by Google like 302: a temporary redirect and a weak canonical signal. Do not use it for permanent URL changes. (A browser-generated HSTS 307 is never seen by crawlers.)
Example 307 response
HTTP/1.1 307 Temporary Redirect
Location: https://api2.example.com/v1/upload
Content-Length: 0
Related status codes
Check or look up another code
Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.
Open HTTP Status Codes tool โAll status codesFrequently asked questions
What does HTTP 307 mean?
HTTP 307 Temporary Redirect is a 3xx Redirection status code. The request should be repeated at another URL using the same method and body.
What is the difference between 302 and 307?
Both are temporary. 307 forbids changing the method, so a POST is repeated as a POST; with 302 clients may switch to GET.
Which specification defines 307?
It is defined in RFC 9110 ยง15.4.8.
Is a 307 response cacheable?
Not by default. A 307 response is only stored by caches when it carries explicit freshness information such as Cache-Control: max-age or Expires.