3xx Redirection · RFC 9110 §15.4.3

302 Found

A temporary redirect; clients should keep using the original URL in future.

What 302 means

The historical "temporary redirect". In practice browsers change POST to GET when following a 302, which is why 303 and 307 were introduced to make the behaviour explicit.

Use it for short-lived redirects such as after a login or for A/B routing. It is not cached by default, so it is safe to experiment with.

Common causes

  • Application redirect after a form submission or login.
  • Framework default when no specific code is given.

How to fix it

  • If the redirect should be permanent (SEO, URL changes) use 301 or 308. If you need the method preserved, use 307.

What it looks like

A typical response:

HTTP/1.1 302 Found
Location: /dashboard
Set-Cookie: session=…; HttpOnly; Secure

The same event in an nginx access log (the status is the number after the request line):

203.0.113.7 - - [10/Sep/2026:10:12:01 +0000] "GET /login HTTP/1.1" 302 153 "-" "Mozilla/5.0"

Check it with curl

-i prints the status line and headers, and -w '%{http_code}' prints only the number, which is handy in scripts and health checks. Replace the URL with yours:

curl -i -L --max-redirs 5 https://example.com/old-path

Compare what curl sees with what the browser sees. A different status from the same URL usually means a cache, a CDN edge or a cookie is in the way.

Investigating a run of 302s? Paste the log excerpt into Log Share to get line numbers, highlighting and an expiring link for whoever is on call with you.

  • 301Moved Permanently: The resource has a new permanent URL; clients and search engines should update.
  • 303See Other: The result is at another URL; fetch it with GET.
  • 307Temporary Redirect: A temporary redirect that preserves the request method and body.

FAQ

Is 302 bad for SEO?

Not by itself. Search engines treat long-standing 302s as permanent eventually, but a 301 states the intent clearly and is the right choice for a moved page.