HTTP Status Codes

Every HTTP response code and what it means.

Every HTTP response carries a three-digit status code that tells the client how the request went. The first digit sets the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error.

Here's the full list you'll actually run into, grouped by class.

1xx — Informational

CodeNameMeaning
100ContinueThe server received the request headers; the client should send the body.
101Switching ProtocolsThe server is switching protocols as requested (e.g. to WebSockets).
103Early HintsPreload hints sent before the final response.

2xx — Success

CodeNameMeaning
200OKStandard success response.
201CreatedThe request succeeded and a new resource was created.
202AcceptedAccepted for processing, but not yet completed.
204No ContentSuccess, but there's no body to return.
206Partial ContentPartial response for a range request (e.g. video streaming).

3xx — Redirection

CodeNameMeaning
301Moved PermanentlyThe resource has permanently moved; update your links.
302FoundTemporary redirect to another URL.
303See OtherFetch the resource with a GET at another URL.
304Not ModifiedThe cached version is still valid; nothing changed.
307Temporary RedirectTemporary redirect that preserves the request method.
308Permanent RedirectPermanent redirect that preserves the request method.

4xx — Client errors

CodeNameMeaning
400Bad RequestThe server can't process the request due to a client error.
401UnauthorizedAuthentication is required or has failed.
403ForbiddenAuthenticated, but not allowed to access this resource.
404Not FoundThe resource doesn't exist.
405Method Not AllowedThe HTTP method isn't supported for this resource.
408Request TimeoutThe client took too long to send the request.
409ConflictThe request conflicts with the current state (e.g. a duplicate).
410GoneThe resource is permanently gone.
418I'm a teapotAn April Fools' joke code — the server refuses to brew coffee.
422Unprocessable EntityWell-formed but semantically invalid (common for validation).
429Too Many RequestsYou've been rate-limited; slow down.

5xx — Server errors

CodeNameMeaning
500Internal Server ErrorA generic server-side error.
501Not ImplementedThe server doesn't support the functionality required.
502Bad GatewayA gateway/proxy got an invalid response upstream.
503Service UnavailableThe server is overloaded or down for maintenance.
504Gateway TimeoutA gateway/proxy timed out waiting upstream.

FAQ

301 is a permanent redirect (search engines transfer ranking and update their index); 302 is temporary (the original URL keeps its ranking).

Use 401 when authentication is missing or failed, and 403 when the user is authenticated but simply isn't permitted.

Last reviewed 2026-08-20.