| 100 | Continue | The server has received the request headers and the client should proceed to send the request body. | | RFC 9110 |
| 101 | Switching Protocols | The requester has asked the server to switch protocols and the server has agreed to do so. | | RFC 9110 |
| 102 | Processing | The server has received and is processing the request, but no response is available yet. Prevents client timeout. | | RFC 2518 |
| 103 | Early Hints | Used to return some response headers before the final HTTP message, allowing the browser to start preloading resources. | | RFC 8297 |
| 110 | Response is Stale | Warn code indicating the response provided is stale (cache-specific, used in Warning header). | Deprecated | RFC 9111 |
| 111 | Revalidation Failed | Warn code indicating the cache could not revalidate the response. | Deprecated | RFC 9111 |
| 199 | Miscellaneous Warning | Arbitrary informational warning with unspecified meaning. Used in the Warning header. | Deprecated | RFC 9111 |
| 200 | OK | Standard response for successful HTTP requests. The actual response depends on the request method used. | Cacheable | RFC 9110 |
| 201 | Created | The request has been fulfilled, resulting in the creation of a new resource. | | RFC 9110 |
| 202 | Accepted | The request has been accepted for processing, but the processing has not been completed. | | RFC 9110 |
| 203 | Non-Authoritative Information | The server is a transforming proxy that received a 200 OK from its origin, but is returning a modified version of the response. | Cacheable | RFC 9110 |
| 204 | No Content | The server successfully processed the request, and is not returning any content. | | RFC 9110 |
| 205 | Reset Content | The server successfully processed the request, asks that the requester reset its document view, and is not returning any content. | | RFC 9110 |
| 206 | Partial Content | The server is delivering only part of the resource due to a range header sent by the client (byte serving). | Cacheable | RFC 9110 |
| 207 | Multi-Status | The message body that follows is an XML message and can contain a number of separate response codes. | | RFC 4918 |
| 208 | Already Reported | The members of a DAV binding have already been enumerated in a preceding part of the multistatus response. | | RFC 5842 |
| 226 | IM Used | The server has fulfilled a request for the resource, and the response is a representation of one or more instance-manipulations. | | RFC 3229 |
| 300 | Multiple Choices | Indicates multiple options for the resource from which the client may choose. | Redirect | RFC 9110 |
| 301 | Moved Permanently | This and all future requests should be directed to the given URI. | RedirectCacheable | RFC 9110 |
| 302 | Found | Tells the client to look at another URL. The HTTP/1.0 specification described this as "Moved Temporarily". | Redirect | RFC 9110 |
| 303 | See Other | The response to the request can be found under another URI using the GET method. | Redirect | RFC 9110 |
| 304 | Not Modified | Indicates the resource has not been modified since the version specified by the request headers. | Cacheable | RFC 9110 |
| 305 | Use Proxy | The requested resource is available only through a proxy. Deprecated due to security concerns. | RedirectDeprecated | RFC 9110 |
| 306 | Switch Proxy | No longer used. Originally meant subsequent requests should use the specified proxy. | Deprecated | RFC 9110 |
| 307 | Temporary Redirect | The request should be repeated with another URI; however, future requests should still use the original URI. | Redirect | RFC 9110 |
| 308 | Permanent Redirect | The request and all future requests should be repeated using another URI. | RedirectCacheable | RFC 9110 |
| 400 | Bad Request | The server cannot or will not process the request due to an apparent client error such as malformed request syntax. | | RFC 9110 |
| 401 | Unauthorized | Authentication is required and has failed or has not yet been provided. | | RFC 9110 |
| 402 | Payment Required | Reserved for future use. The original intention was to use it for digital payment systems. | | RFC 9110 |
| 403 | Forbidden | The request contained valid data and was understood by the server, but the server is refusing action. | | RFC 9110 |
| 404 | Not Found | The requested resource could not be found but may be available in the future. | Cacheable | RFC 9110 |
| 405 | Method Not Allowed | A request method is not supported for the requested resource; for example, a GET request on a form that requires POST data. | | RFC 9110 |
| 406 | Not Acceptable | The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. | | RFC 9110 |
| 407 | Proxy Auth Required | The client must first authenticate itself with the proxy. | | RFC 9110 |
| 408 | Request Timeout | The server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait. | | RFC 9110 |
| 409 | Conflict | Indicates the request could not be processed because of a conflict in the current state of the resource. | | RFC 9110 |
| 410 | Gone | Indicates the resource requested was previously in use but is no longer available and will not be available again. | Cacheable | RFC 9110 |
| 411 | Length Required | The request did not specify the length of its content, which is required by the requested resource. | | RFC 9110 |
| 412 | Precondition Failed | The server does not meet one of the preconditions that the requester put on the request header fields. | | RFC 9110 |
| 413 | Content Too Large | The request is larger than the server is willing or able to process. | | RFC 9110 |
| 414 | URI Too Long | The URI provided was too long for the server to process. | Cacheable | RFC 9110 |
| 415 | Unsupported Media Type | The request entity has a media type which the server or resource does not support. | | RFC 9110 |
| 416 | Range Not Satisfiable | The client has asked for a portion of the file via byte serving, but the server cannot supply that portion. | | RFC 9110 |
| 417 | Expectation Failed | The server cannot meet the requirements of the Expect request-header field. | | RFC 9110 |
| 418 | I'm a Teapot | Defined as an April Fools' joke in RFC 2324. Some servers use this to decline requests they choose not to fulfill. | | RFC 2324 |
| 421 | Misdirected Request | The request was directed at a server that is not able to produce a response. | | RFC 9110 |
| 422 | Unprocessable Content | The request was well-formed but could not be followed due to semantic errors. | | RFC 9110 |
| 423 | Locked | The resource that is being accessed is locked. | | RFC 4918 |
| 424 | Failed Dependency | The request failed because it depended on another request and that request failed. | | RFC 4918 |
| 425 | Too Early | The server is unwilling to risk processing a request that might be replayed. | | RFC 8470 |
| 426 | Upgrade Required | The client should switch to a different protocol such as TLS/1.3. | | RFC 9110 |
| 428 | Precondition Required | The origin server requires the request to be conditional. | | RFC 6585 |
| 429 | Too Many Requests | The user has sent too many requests in a given amount of time ('rate limiting'). | | RFC 6585 |
| 431 | Request Header Fields Too Large | The server is unwilling to process the request because an individual header field, or all header fields collectively, are too large. | | RFC 6585 |
| 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. | Cacheable | RFC 7725 |
| 500 | Internal Server Error | A generic error message given when an unexpected condition was encountered and no more specific message is suitable. | | RFC 9110 |
| 501 | Not Implemented | The server either does not recognize the request method, or it lacks the ability to fulfil the request. | Cacheable | RFC 9110 |
| 502 | Bad Gateway | The server was acting as a gateway or proxy and received an invalid response from the upstream server. | | RFC 9110 |
| 503 | Service Unavailable | The server cannot handle the request because it is overloaded or down for maintenance. Generally a temporary state. | | RFC 9110 |
| 504 | Gateway Timeout | The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. | | RFC 9110 |
| 505 | HTTP Version Not Supported | The server does not support the HTTP version used in the request. | | RFC 9110 |
| 506 | Variant Also Negotiates | Transparent content negotiation for the request results in a circular reference. | | RFC 2295 |
| 507 | Insufficient Storage | The server is unable to store the representation needed to complete the request. | | RFC 4918 |
| 508 | Loop Detected | The server detected an infinite loop while processing the request. | | RFC 5842 |
| 510 | Not Extended | Further extensions to the request are required for the server to fulfil it. | | RFC 2774 |
| 511 | Network Auth Required | The client needs to authenticate to gain network access. Intended for use by intercepting proxies. | | RFC 6585 |