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.
Related status codes
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.