Skip to main content
302

Found

Active
RFC 9110 §15.4.3Since 1996Login redirects, A/B testing, temporary maintenance

HTTP 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

Request
http
GET /promo HTTP/1.1
Host: shop.example.com
302 temporary redirect
http
HTTP/1.1 302 Found
Location: https://shop.example.com/seasonal-sale
Cache-Control: no-cache

Edge 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

LanguageConstant
Gohttp.StatusFound
Rusthttp::StatusCode::FOUND
Pythonhttp.HTTPStatus.FOUND
Node.jshttp.STATUS_CODES[302]
.NETHttpStatusCode.Found
JavaHttpURLConnection.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.