Found
ActiveHTTP 302 Found indicates the target resource resides temporarily under a different URI. Defined in RFC 9110 §15.4.3. The client should continue using the original URI for future requests. Unlike 301, this does not transfer SEO equity.
Description
The 302 Found status code indicates that the target resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client ought to continue to use the target URI for future requests.
The server SHOULD include a Location header field containing the URI reference for the different URI.
Historical note: Many HTTP/1.0 clients incorrectly changed the method from POST to GET upon receiving a 302. This is why 307 was introduced — to guarantee method preservation.
Examples
GET /promo HTTP/1.1
Host: shop.example.comHTTP/1.1 302 Found
Location: https://shop.example.com/seasonal-sale
Cache-Control: no-cacheEdge Cases
- •Some clients change POST to GET on 302. Use 307 if you need method preservation.
- •302 should NOT be cached by default. Add Cache-Control: no-cache to be explicit.
- •Google treats 302 redirects lasting >1 year as 301s for indexing purposes.
When You'll See This
- →Redirecting to login page when unauthenticated
- →A/B testing variants
- →Temporary maintenance redirects
- →Geo-based content routing
Implementation References
| Language | Constant |
|---|---|
| Go | http.StatusFound |
| Rust | http::StatusCode::FOUND |
| Python | http.HTTPStatus.FOUND |
| Node.js | http.STATUS_CODES[302] |
| .NET | HttpStatusCode.Found |
| Java | HttpURLConnection.HTTP_MOVED_TEMP |
History
Originally defined in HTTP/1.0 (RFC 1945, 1996) as 'Moved Temporarily'. Renamed to 'Found' in HTTP/1.1. The method-changing behavior led to the creation of 307.
Related Status Codes
Related Headers
FAQ
What is the difference between 301 and 302?
301 is permanent (change bookmarks, update SEO). 302 is temporary (keep using the original URL, no SEO transfer).
When should I use 302 vs 307?
Use 307 if you need the HTTP method preserved (POST stays POST). Use 302 for general temporary redirects where method changing is acceptable.