HTTP 302 Found

When you receive HTTP 302 Found, the server is saying: the resource you want is temporarily at this other URL — go there now, but remember to come back here next time. The Location header carries the temporary destination.

In practice, 302 is the most misused redirect code. Many developers use 302 when they mean 301 (permanent), which means search engines never fully consolidate link equity to the destination and the old URL stays in the index indefinitely. If you check a URL and find it is 302-redirecting to the same destination it has pointed to for over six months, that is a signal it should probably be a 301.

The other subtle issue: browsers historically changed POST requests to GET on 302, which is technically wrong per spec. If you need a temporary redirect that preserves POST, use 307.

Quick reference

Code302
NameFound
Category3xx redirect codes
SpecificationRFC 9110
IANA statusAssigned
When to useUse 302 for temporary redirects where the original URL should be preserved. Prefer 307 when you need to guarantee method preservation (POST stays POST). Use 303 for Post/Redirect/Get (PRG) patterns after form submission. Never use 302 for permanent URL changes — that is a 301.
Client behaviorBrowsers follow the redirect automatically and typically change POST to GET (historical, widely-implemented non-spec behavior). The redirect is not cached; each visit to the original URL re-checks the server for a redirect. Crawlers visit the original URL again in future crawls rather than updating their index.
CachingNot cached by default. Each request to the original URL hits the server and may receive a different destination. You can add Cache-Control headers to cache 302s, but this is rarely appropriate for truly temporary redirects.

Common causes

  • Temporary campaign or seasonal redirect
  • A/B testing routing
  • Login flow redirect before authentication is complete
  • Feature flag-based routing

How to fix it

  • Use 307 if you need to preserve the HTTP method (POST stays POST)
  • Use 303 for Post/Redirect/Get patterns
  • Switch to 301 or 308 if the redirect is actually permanent
  • Do not use 302 for permanent URL changes

Example exchange

GET /summer-sale HTTP/1.1
Host: example.com

HTTP/1.1 302 Found
Location: /sale/2026-summer

When you see this in production

In production, 302s appear in login redirect chains, behind feature flags, and in A/B test routing layers. Common access log patterns: GET /promo 302 → /campaign/spring-2026. Watch for:

- 302s that have been in place for 6+ months (should be 301)

- 302 chains where multiple temporary redirects stack

- POST→302 flows where the method change causes unexpected GET behavior in downstream logic

What developers usually do next

  • When you see unexpected 302s:
  • 1. Confirm whether the redirect is truly temporary or has become de facto permanent
  • 2. Check if POST requests are being redirected — the method change to GET may break your form processing
  • 3. Audit your redirect rules; 302s that exist in Nginx config, CDN rules, and application code can stack
  • 4. If SEO consolidation is the goal, confirm the redirect code is 301, not 302

When NOT to use this code

Do not use 302 for permanent moves (use 301). Do not use 302 when you need the original HTTP method preserved (use 307). Do not use 302 in Post/Redirect/Get flows (use 303). Do not use 302 for HTTPS enforcement (use 301).

Related status codes

HTTP 301 Moved Permanently · HTTP 303 See Other · HTTP 307 Temporary Redirect · HTTP 308 Permanent Redirect

Comparisons

HTTP 302 vs 300 · HTTP 302 vs 301 · HTTP 302 vs 303 · HTTP 302 vs 307

Frequently asked questions

What is the difference between 302 and 307?

302 allows the client to change the HTTP method (browsers typically change POST to GET). 307 requires the client to preserve the original method. Use 307 when the method matters.

Does 302 pass SEO value?

No. Search engines do not transfer ranking signals on temporary redirects (302, 307). Use 301 for permanent moves.

Standards reference

This definition is derived from the IANA HTTP Status Code Registry and RFC 9110. Human-readable operational guidance by ErrorLookup. · HTTP 302 quick reference →