302 Found (Previously "Moved temporarily")
This is an educational reference page about HTTP 302 Found. The page itself is served as 200 OK so it can be indexed as HTTP documentation.
Tells the client to look at (browse to) another URL. The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect with the same method (the original describing phrase was "Moved Temporarily"), but popular browsers implemented 302 redirects by changing the method to GET. Therefore, HTTP/1.1 added status codes 303 and 307 to distinguish between the two behaviours.
Specification
Registered in the IANA HTTP Status Code Registry as Found. Defined in RFC 9110, Section 15.4.3.
What it means
HTTP 302 means the requested resource is temporarily available at another URL.
Common causes
- Temporary campaign URLs, location-based routing, or short-lived redirects.
- Legacy applications using 302 where 303 or 307 would be more explicit.
- A server wants clients to keep the original URL for future requests.
How to fix it
- Use 301 or 308 for permanent moves.
- Use 303 after form submission when the next request should be GET.
- Use 307 when the client must preserve the original method and body.
Example response
HTTP/1.1 302 Found
Location: https://example.com/temporary-target
Developer notes
Many clients change POST to GET after 302. Use 307 when method preservation matters.
Header and content rules
What RFC 9110 says about a 302 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.3
The same rule is in the response obligations table and its JSON.