| 100 | Continue | 1xx Informational | The headers were accepted; the client may send the request body. | RFC 9110 |
| 101 | Switching Protocols | 1xx Informational | The server is switching protocol as asked by the Upgrade header (e.g. WebSocket). | RFC 9110 |
| 102 | Processing | 1xx Informational | WebDAV: the request is still being processed (deprecated). | RFC 2518 |
| 103 | Early Hints | 1xx Informational | Preliminary headers (usually Link preload hints) sent before the final response. | RFC 8297 |
| 200 | OK | 2xx Success | The request succeeded. | RFC 9110 |
| 201 | Created | 2xx Success | A new resource was created; its URL is usually in the Location header. | RFC 9110 |
| 202 | Accepted | 2xx Success | The request was accepted for processing, which has not finished. | RFC 9110 |
| 203 | Non-Authoritative Information | 2xx Success | The response was modified by a transforming proxy. | RFC 9110 |
| 204 | No Content | 2xx Success | Success with no response body (common for DELETE and PUT). | RFC 9110 |
| 205 | Reset Content | 2xx Success | Success; the client should reset the form or view that sent the request. | RFC 9110 |
| 206 | Partial Content | 2xx Success | Only the requested byte range is returned (Range requests, resumable downloads). | RFC 9110 |
| 207 | Multi-Status | 2xx Success | WebDAV: the body contains several status codes for several resources. | RFC 4918 |
| 208 | Already Reported | 2xx Success | WebDAV: members of a binding were already listed earlier in the response. | RFC 5842 |
| 226 | IM Used | 2xx Success | The response is the result of instance manipulations (delta encoding). | RFC 3229 |
| 300 | Multiple Choices | 3xx Redirection | Several representations are available; the client should choose one. | RFC 9110 |
| 301 | Moved Permanently | 3xx Redirection | The resource has a new permanent URL. Clients may change POST to GET when following it. | RFC 9110 |
| 302 | Found | 3xx Redirection | Temporary redirect. Clients may change POST to GET when following it. | RFC 9110 |
| 303 | See Other | 3xx Redirection | Fetch another URL with GET — typically after a form POST. | RFC 9110 |
| 304 | Not Modified | 3xx Redirection | The cached copy is still valid (conditional GET with If-None-Match / If-Modified-Since). | RFC 9110 |
| 305 | Use Proxy | 3xx Redirection | Deprecated; must not be used. | RFC 9110 |
| 307 | Temporary Redirect | 3xx Redirection | Temporary redirect that keeps the method and body. | RFC 9110 |
| 308 | Permanent Redirect | 3xx Redirection | Permanent redirect that keeps the method and body. | RFC 9110 |
| 400 | Bad Request | 4xx Client error | The request is malformed (syntax, invalid framing or parameters). | RFC 9110 |
| 401 | Unauthorized | 4xx Client error | Authentication is missing or invalid; the WWW-Authenticate header says how to authenticate. | RFC 9110 |
| 402 | Payment Required | 4xx Client error | Reserved for future use; some APIs use it for billing problems. | RFC 9110 |
| 403 | Forbidden | 4xx Client error | The server understood the request but refuses it; authenticating will not help. | RFC 9110 |
| 404 | Not Found | 4xx Client error | No resource exists at this URL (or the server will not reveal that it does). | RFC 9110 |
| 405 | Method Not Allowed | 4xx Client error | The method is not supported for this resource; the Allow header lists those that are. | RFC 9110 |
| 406 | Not Acceptable | 4xx Client error | No representation matches the Accept headers. | RFC 9110 |
| 407 | Proxy Authentication Required | 4xx Client error | The client must authenticate with the proxy first. | RFC 9110 |
| 408 | Request Timeout | 4xx Client error | The server timed out waiting for the request. | RFC 9110 |
| 409 | Conflict | 4xx Client error | The request conflicts with the current state (e.g. an edit conflict or duplicate). | RFC 9110 |
| 410 | Gone | 4xx Client error | The resource was removed permanently and will not return. | RFC 9110 |
| 411 | Length Required | 4xx Client error | A Content-Length header is required. | RFC 9110 |
| 412 | Precondition Failed | 4xx Client error | A conditional header (If-Match, If-Unmodified-Since) did not hold. | RFC 9110 |
| 413 | Content Too Large | 4xx Client error | The request body is larger than the server accepts. | RFC 9110 |
| 414 | URI Too Long | 4xx Client error | The URL is longer than the server will process. | RFC 9110 |
| 415 | Unsupported Media Type | 4xx Client error | The Content-Type of the body is not supported. | RFC 9110 |
| 416 | Range Not Satisfiable | 4xx Client error | The requested byte range is outside the resource. | RFC 9110 |
| 417 | Expectation Failed | 4xx Client error | The Expect header cannot be met. | RFC 9110 |
| 418 | (Unused) I'm a teapot | 4xx Client error | An April Fools' code from RFC 2324, reserved so it is never assigned. | RFC 9110 |
| 421 | Misdirected Request | 4xx Client error | The request reached a server that cannot answer for this host (connection reuse). | RFC 9110 |
| 422 | Unprocessable Content | 4xx Client error | Well-formed but semantically invalid, e.g. a validation error. | RFC 9110 |
| 423 | Locked | 4xx Client error | WebDAV: the resource is locked. | RFC 4918 |
| 424 | Failed Dependency | 4xx Client error | WebDAV: the request failed because an earlier request failed. | RFC 4918 |
| 425 | Too Early | 4xx Client error | The server will not process a request that might be replayed (TLS early data). | RFC 8470 |
| 426 | Upgrade Required | 4xx Client error | The client must switch to another protocol, given in the Upgrade header. | RFC 9110 |
| 428 | Precondition Required | 4xx Client error | The server requires the request to be conditional (to prevent lost updates). | RFC 6585 |
| 429 | Too Many Requests | 4xx Client error | Rate limited; Retry-After may say when to try again. | RFC 6585 |
| 431 | Request Header Fields Too Large | 4xx Client error | The headers (often cookies) are too large. | RFC 6585 |
| 444 | No Response | 4xx Client error | nginx (unofficial): the connection was closed without a response. | nginx |
| 451 | Unavailable For Legal Reasons | 4xx Client error | Access is blocked for legal reasons. | RFC 7725 |
| 499 | Client Closed Request | 4xx Client error | nginx (unofficial): the client closed the connection before the response. | nginx |
| 500 | Internal Server Error | 5xx Server error | An unexpected error on the server. | RFC 9110 |
| 501 | Not Implemented | 5xx Server error | The server does not support the functionality required. | RFC 9110 |
| 502 | Bad Gateway | 5xx Server error | A gateway or proxy got an invalid response from the upstream server. | RFC 9110 |
| 503 | Service Unavailable | 5xx Server error | The server is overloaded or down for maintenance; Retry-After may be sent. | RFC 9110 |
| 504 | Gateway Timeout | 5xx Server error | A gateway or proxy did not get a response from upstream in time. | RFC 9110 |
| 505 | HTTP Version Not Supported | 5xx Server error | The HTTP version of the request is not supported. | RFC 9110 |
| 506 | Variant Also Negotiates | 5xx Server error | Content negotiation misconfiguration on the server. | RFC 2295 |
| 507 | Insufficient Storage | 5xx Server error | WebDAV: the server cannot store the representation. | RFC 4918 |
| 508 | Loop Detected | 5xx Server error | WebDAV: an infinite loop was detected while processing. | RFC 5842 |
| 510 | Not Extended | 5xx Server error | Further extensions are required (historic). | RFC 2774 |
| 511 | Network Authentication Required | 5xx Server error | A captive portal requires you to log in to the network. | RFC 6585 |
| 520 | Web Server Returned an Unknown Error | 5xx Server error | Cloudflare (unofficial): the origin returned an unexpected response. | Cloudflare |
| 521 | Web Server Is Down | 5xx Server error | Cloudflare (unofficial): the origin refused the connection. | Cloudflare |
| 522 | Connection Timed Out | 5xx Server error | Cloudflare (unofficial): the TCP connection to the origin timed out. | Cloudflare |
| 523 | Origin Is Unreachable | 5xx Server error | Cloudflare (unofficial): the origin could not be reached. | Cloudflare |
| 524 | A Timeout Occurred | 5xx Server error | Cloudflare (unofficial): the origin did not send an HTTP response in time. | Cloudflare |
| 525 | SSL Handshake Failed | 5xx Server error | Cloudflare (unofficial): the TLS handshake with the origin failed. | Cloudflare |
| 526 | Invalid SSL Certificate | 5xx Server error | Cloudflare (unofficial): the origin certificate is invalid. | Cloudflare |