HTTP 302 — Found
3xx Redirection
What it means
A temporary redirect. The original URL should still be used for future requests.
What to do about it
If the move is permanent, use 301 instead — a 302 tells search engines to keep indexing the old URL. For a temporary move where the method must not change, prefer 307.
Where it sits
302 belongs to the 3xx family: Further action is needed to complete the request — usually following a redirect.
HTTP/1.1 302 Found
Checking it yourself
# see the status code and headers only
curl -sI https://example.com/path
# follow redirects and print each hop
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/path
# JavaScript
const r = await fetch(url);
console.log(r.status, r.statusText);
How this code behaves
| Cacheable by default | No — caches must not store this response unless explicit cache headers permit it. |
| Safe to retry | Not applicable. |
| Effect on search indexing | Google keeps indexing the original URL and does not transfer ranking signals. Use 301 for permanent moves. |
Returning 302 correctly
# nginx
return 302;
# Express
res.status(302).json({ error: 'Found' });
# Go
w.WriteHeader(302)
# Python (Flask)
return jsonify(error='Found'), 302;
Frequently asked questions
What does HTTP 302 mean?
A temporary redirect. The original URL should still be used for future requests.
How do I fix a 302 error?
If the move is permanent, use 301 instead — a 302 tells search engines to keep indexing the old URL. For a temporary move where the method must not change, prefer 307.
Is 302 a client or server problem?
Neither — it is an instruction to look somewhere else, and clients normally follow it automatically.