Understanding HTTP Status Codes: What Each Range Actually Means
Most status codes get treated as background noise until something breaks - but the specific number a server returns changes how browsers, crawlers, and scripts all behave, often in ways that aren't obvious until you've been burned by the wrong one.
2xx - Success
200 OK is the only one most people think about, but the range has nuance: 201 Created confirms a new resource was made (common after a form POST), 204 No Content confirms success with deliberately nothing to return.
3xx - Redirection
- 301 Moved Permanently - tells search engines to transfer ranking signals to the new URL. Use this for real, permanent moves.
- 302 Found - a temporary redirect; search engines keep indexing the original URL. Using 302 for a permanent move is a common SEO mistake that leaves ranking signals stranded on the old URL.
- 304 Not Modified - tells a browser its cached version is still valid, saving a full re-download.
4xx - Client Errors
- 404 Not Found - the resource genuinely doesn't exist. A real 404 status matters for SEO - a "soft 404" (a not-found page that returns 200) confuses crawlers into indexing dead content.
- 401 Unauthorized vs 403 Forbidden - 401 means "authenticate to proceed," 403 means "you're identified, and still not allowed." Mixing these up gives users (and API consumers) the wrong signal about what to do next.
- 429 Too Many Requests - the correct response for rate limiting, ideally paired with a
Retry-Afterheader so well-behaved clients know when to try again.
5xx - Server Errors
A 5xx means the server itself failed to handle a valid request - as distinct from a 4xx, which means the request itself was the problem. Returning 500 for what's actually a client error (or vice versa) misleads both monitoring dashboards and the client's own retry logic - a client typically shouldn't blindly retry a 4xx, but often should retry a 5xx.
Why This Matters Beyond Correctness
Search engines use status codes as a primary signal for how to treat a URL going forward - the wrong code on a redirect, error page, or removed resource can leave stale or duplicate content indexed for far longer than intended, independent of anything else about the page's actual content.
See what Scanverra checks for free
Four audit tools, one platform - performance, security, browser testing, and code quality.
Get started free