Complete list of all Http Response Codes

Every time you visit a website or make an API request, your browser or client communicates with a server — and the server responds with a status code. These HTTP response codes are three-digit numbers that indicate whether a request was successful, redirected, failed, or encountered a server issue.

To make them easier to understand, HTTP codes are grouped by their first digit. Each group represents a different category of response. Let’s break them down.


1xx — Informational Responses

These codes mean that the request was received and is still being processed. They are rarely seen by end users but are used internally between servers.

CodeMessageDescription
100ContinueThe server has received the request headers and the client should proceed to send the request body.
101Switching ProtocolsThe server is switching to a different protocol as requested by the client.
102ProcessingThe server has received and is processing the request, but no response is available yet.
103Early HintsUsed to return some response headers before the final response.

2xx — Success Responses

These indicate that the request was successfully received, understood, and processed.

CodeMessageDescription
200OKThe request succeeded.
201CreatedThe request succeeded and a new resource was created.
202AcceptedThe request has been accepted for processing, but not completed yet.
203Non-Authoritative InformationThe returned information may be from a third-party source.
204No ContentThe server successfully processed the request but returns no content.
205Reset ContentThe client should reset the document view.
206Partial ContentThe server is delivering only part of the resource due to a range header.
207Multi-StatusProvides multiple status codes for different parts of a request.
208Already ReportedThe resource has already been reported in a previous response.
226IM UsedThe server has fulfilled a GET request using instance manipulations.

3xx — Redirection Messages

These tell the client that further action is needed to complete the request, usually involving a redirect to another URL.

CodeMessageDescription
300Multiple ChoicesMultiple options for the requested resource.
301Moved PermanentlyThe resource has been moved to a new permanent URL.
302FoundThe resource is temporarily located elsewhere.
303See OtherDirects the client to retrieve the resource from another URI using GET.
304Not ModifiedThe resource has not changed since the last request.
305Use ProxyThe resource must be accessed through a proxy. (Deprecated)
307Temporary RedirectThe resource is temporarily under another URI.
308Permanent RedirectThe resource has been permanently moved to another URI.

4xx — Client Error Responses

These occur when the client made an error — for example, sending a bad request or trying to access something forbidden.

CodeMessageDescription
400Bad RequestThe server couldn’t understand the request.
401UnauthorizedAuthentication is required or failed.
402Payment RequiredReserved for future use (often related to payment systems).
403ForbiddenThe client does not have access rights to the content.
404Not FoundThe requested resource could not be found.
405Method Not AllowedThe HTTP method is not allowed for the requested resource.
406Not AcceptableThe requested format is not supported by the server.
407Proxy Authentication RequiredAuthentication is required by a proxy server.
408Request TimeoutThe server timed out waiting for the request.
409ConflictThe request conflicts with the current state of the resource.
410GoneThe resource is permanently removed.
411Length RequiredThe request did not specify a content length.
412Precondition FailedOne or more request conditions were not met.
413Payload Too LargeThe request body is too large.
414URI Too LongThe URI is too long for the server to process.
415Unsupported Media TypeThe request’s media type is not supported.
416Range Not SatisfiableThe requested range cannot be fulfilled.
417Expectation FailedThe server cannot meet the requirements of the Expect header.
418I’m a TeapotA playful error from an April Fools’ joke in RFC 2324.
421Misdirected RequestThe request was sent to a server that can’t produce a response.
422Unprocessable EntityThe server understands the content but cannot process it.
423LockedThe resource is locked.
424Failed DependencyThe request failed because of a previous failure.
425Too EarlyThe server is unwilling to risk processing a premature request.
426Upgrade RequiredThe client should switch to a different protocol.
428Precondition RequiredThe server requires the request to be conditional.
429Too Many RequestsThe user has sent too many requests in a given time.
431Request Header Fields Too LargeThe header fields are too large.
451Unavailable For Legal ReasonsThe resource is restricted for legal reasons.

5xx — Server Error Responses

These indicate that the server failed to fulfill a valid request, often due to internal issues.

CodeMessageDescription
500Internal Server ErrorA general server error occurred.
501Not ImplementedThe server doesn’t support the requested functionality.
502Bad GatewayThe server received an invalid response from another server.
503Service UnavailableThe server is temporarily overloaded or down for maintenance.
504Gateway TimeoutThe server did not receive a timely response from another server.
505HTTP Version Not SupportedThe server doesn’t support the HTTP version used in the request.
506Variant Also NegotiatesContent negotiation resulted in a circular reference.
507Insufficient StorageThe server cannot store the representation needed.
508Loop DetectedThe server detected an infinite loop while processing a request.
510Not ExtendedFurther extensions to the request are required.
511Network Authentication RequiredThe client needs to authenticate to gain network access.

Final Thoughts

Understanding grouped HTTP status codes helps developers and site owners diagnose problems faster. Whether you’re debugging an API or optimizing a website, knowing what these numbers mean saves valuable time.

To explore the official specifications, visit the IANA HTTP Status Code Registry.

If this post helped you, consider sharing it — it really helps others discover useful resources. Thanks.