HTTP Status Codes Explained

HTTP Status Codes are used by webservers to communicate the status of a request to the client. Here are all of them.

1xx: Informational

These status codes are temporary responses indicating that the request has been received and is being processed.

  • 100

    Continue

    The server has received the request headers and the client should proceed to send the request body.

  • 101

    Switching Protocols

    The requester has asked the server to switch protocols and the server has agreed to do so.

  • 102

    Processing

    The server has received and is processing the request, but no response is available yet.

  • 103

    Early Hints

    Used to return some response headers before final HTTP message.

2xx: Success

These status codes indicate that the client's request was successfully received, understood, and accepted.

  • 200

    OK

    The request was successful.

  • 201

    Created

    The request was successful and a new resource was created.

  • 202

    Accepted

    The request has been accepted for processing, but the processing has not been completed.

  • 203

    Non-Authoritative Information

    The returned metadata is not exactly the same as is available from the origin server.

  • 204

    No Content

    The server successfully processed the request but is not returning any content.

  • 205

    Reset Content

    Tells the user agent to reset the document which sent this request.

  • 206

    Partial Content

    The server is delivering only part of the resource due to a range header sent by the client.

  • 207

    Multi-Status

    A Multi-Status response conveys information about multiple resources in situations where multiple status codes might be appropriate.

  • 208

    Already Reported

    Used inside a DAV: propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.

  • 226

    IM Used

    The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.

3xx: Redirection

These status codes indicate that further action needs to be taken by the user agent to fulfill the request.

  • 300

    Multiple Choices

    Indicates multiple options for the resource from which the client may choose.

  • 301

    Moved Permanently

    The requested resource has been permanently moved to a new URL.

  • 302

    Found

    The requested resource has been temporarily moved to a different URL.

  • 303

    See Other

    The response to the request can be found under another URI using a GET method.

  • 304

    Not Modified

    The client's cached version of the requested resource is up to date.

  • 305

    Use Proxy

    The requested resource must be accessed through the proxy given by the Location field.

  • 307

    Temporary Redirect

    The requested resource is temporarily available at a different URL, but future requests should still use the original URL.

  • 308

    Permanent Redirect

    The request and all future requests should be repeated using another URI.

4xx: Client Errors

These status codes are intended for situations in which the client seems to have erred.

  • 400

    Bad Request

    The server cannot process the request due to a client error.

  • 401

    Unauthorized

    The request requires user authentication.

  • 402

    Payment Required

    Reserved for future use.

  • 403

    Forbidden

    The server understood the request but refuses to authorize it.

  • 404

    Not Found

    The requested resource could not be found on the server.

  • 405

    Method Not Allowed

    The method specified in the request is not allowed for the resource.

  • 406

    Not Acceptable

    The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.

  • 407

    Proxy Authentication Required

    The client must first authenticate itself with the proxy.

  • 408

    Request Timeout

    The server timed out waiting for the request.

  • 409

    Conflict

    Indicates that the request could not be processed because of conflict in the current state of the resource.

  • 410

    Gone

    Indicates that the resource requested is no longer available and will not be available again.

  • 411

    Length Required

    The request did not specify the length of its content, which is required by the requested resource.

  • 412

    Precondition Failed

    The server does not meet one of the preconditions that the requester put on the request.

  • 413

    Payload Too Large

    The request is larger than the server is willing or able to process.

  • 414

    URI Too Long

    The URI provided was too long for the server to process.

  • 415

    Unsupported Media Type

    The request entity has a media type which the server or resource does not support.

  • 416

    Range Not Satisfiable

    The client has asked for a portion of the file, but the server cannot supply that portion.

  • 417

    Expectation Failed

    The server cannot meet the requirements of the Expect request-header field.

  • 418

    I'm a teapot

    Any attempt to brew coffee with a teapot should result in the error code '418 I'm a teapot'.

  • 421

    Misdirected Request

    The request was directed at a server that is not able to produce a response.

  • 422

    Unprocessable Entity

    The request was well-formed but was unable to be followed due to semantic errors.

  • 423

    Locked

    The resource that is being accessed is locked.

  • 424

    Failed Dependency

    The request failed because it depended on another request and that request failed.

  • 425

    Too Early

    Indicates that the server is unwilling to risk processing a request that might be replayed.

  • 426

    Upgrade Required

    The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field.

  • 428

    Precondition Required

    The origin server requires the request to be conditional.

  • 429

    Too Many Requests

    The user has sent too many requests in a given amount of time.

  • 431

    Request Header Fields Too Large

    The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.

  • 451

    Unavailable For Legal Reasons

    A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.

5xx: Server Errors

These status codes indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request.

  • 500

    Internal Server Error

    A generic error message when an unexpected condition was encountered by the server.

  • 501

    Not Implemented

    The server does not support the functionality required to fulfill the request.

  • 502

    Bad Gateway

    The server was acting as a gateway or proxy and received an invalid response from the upstream server.

  • 503

    Service Unavailable

    The server is currently unable to handle the request due to temporary overloading or maintenance.

  • 504

    Gateway Timeout

    The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.

  • 505

    HTTP Version Not Supported

    The server does not support the HTTP protocol version used in the request.

  • 506

    Variant Also Negotiates

    Transparent content negotiation for the request results in a circular reference.

  • 507

    Insufficient Storage

    The server is unable to store the representation needed to complete the request.

  • 508

    Loop Detected

    The server detected an infinite loop while processing the request.

  • 510

    Not Extended

    Further extensions to the request are required for the server to fulfill it.

  • 511

    Network Authentication Required

    The client needs to authenticate to gain network access.

This was a list of the most important status codes. For more information, we recommend checking out the Wikipedia HTTP status codes page and the MDN Web Docs documentation.