Common HTTP Status Codes and What They Actually Mean

Every HTTP status code falls into one of five numbered classes, and knowing the class alone already tells you most of what you need to know.

2xx: The request succeeded

200 OK is the standard success response. 201 Created confirms something new was successfully made, such as a new account or post, and 204 No Content confirms success with no body to return.

3xx: You are being sent somewhere else

301 Moved Permanently tells browsers and search engines to update their records to a new URL for good. 302 Found is a temporary redirect. 304 Not Modified tells a browser its cached copy of a page is still valid.

400, 401, 403: Something is wrong with the request itself

400 Bad Request means the request was malformed. 401 Unauthorized means you need to log in or authenticate. 403 Forbidden means you are identified but not allowed to access that resource, which is a different problem from 401.

404 and 410: The page is not there

404 Not Found is the classic "this page does not exist" response. The less common 410 Gone specifically signals the page existed before but was intentionally and permanently removed.

429: You are being rate-limited

This means the server is deliberately refusing to process more requests from you for a while, usually to prevent abuse or overload, and often comes with a hint about how long to wait before retrying.

5xx: The problem is on the server, not you

500 Internal Server Error is a generic server-side failure. 502 Bad Gateway and 503 Service Unavailable typically mean an upstream server or the site itself is temporarily down or overloaded. 504 Gateway Timeout means a server waited too long for another server to respond.

Why the codes are grouped by hundreds

The first digit of a status code tells you its class before you even look up the specific number: 1xx is informational, 2xx is success, 3xx is redirection, 4xx is a client-side problem, and 5xx is a server-side problem. This lets software (and people) react sensibly to a code they have never seen before, just from its first digit.

Status codes shape how browsers and search engines behave

A 301 redirect passes most of a page's search ranking value to its new URL, while a 302 signals the move is temporary and ranking should stay put — a distinction that matters a great deal for site migrations. Caching behavior in browsers is similarly driven by which 2xx or 3xx code a server returns.

Frequently Asked Questions

What is the difference between 401 and 403?

401 Unauthorized generally means the server does not know who you are yet (you need to log in), while 403 Forbidden means it knows who you are and has decided you still are not allowed access.

Why do I sometimes see 502 or 503 on a site that is normally fine?

These usually indicate a temporary problem, such as a server restarting, being overloaded with traffic, or a backend service it depends on being unreachable, rather than a permanent issue with the site.

Is 404 always the right code for a missing page?

It is the standard choice, though some sites intentionally return a 410 Gone instead for pages that were deliberately and permanently removed, which can send a clearer signal to search engines than a generic 404.