| 100 | Continue | 1xx | The initial part of the request was received and the client should continue sending the body. Sent in response to an Expect: 100-continue header. |
|---|
| 101 | Switching Protocols | 1xx | The server is switching to the protocol the client asked for in the Upgrade header, and will do so once this response is sent. |
|---|
| 102 | ProcessingWebDAV | 1xx | The server has accepted the request but has not finished it. An interim response used to stop a client timing out during a long WebDAV operation. |
|---|
| 103 | Early HintsExtension RFC | 1xx | An interim response carrying Link headers so the client can start preloading resources while the server prepares the final response. |
|---|
| 200 | OK | 2xx | The request succeeded. What the body contains depends on the method — the requested representation for GET, the result of the action for POST. |
|---|
| 201 | Created | 2xx | The request succeeded and one or more new resources were created. The Location header should carry the URL of the new resource. |
|---|
| 202 | Accepted | 2xx | The request was accepted but has not been acted on yet. Deliberately non-committal: the work may still fail, and there is no guarantee it will be completed. |
|---|
| 203 | Non-Authoritative Information | 2xx | The request succeeded, but the payload was modified in transit by a proxy and differs from what the origin server sent. |
|---|
| 204 | No Content | 2xx | The request succeeded and there is deliberately no body to return. The response must not include one. |
|---|
| 205 | Reset Content | 2xx | The request succeeded and the client should reset the document view that caused it — clearing a form, for example. |
|---|
| 206 | Partial Content | 2xx | The server is returning part of the resource, as requested by a Range header. |
|---|
| 207 | Multi-StatusWebDAV | 2xx | Carries several independent status codes in one XML body, for a request that acted on multiple resources. |
|---|
| 208 | Already ReportedWebDAV | 2xx | Inside a Multi-Status response, marks a resource whose members were already enumerated earlier in the same reply, to avoid repeating them. |
|---|
| 226 | IM UsedExtension RFC | 2xx | The server fulfilled the request and the response represents one or more instance manipulations applied to the current resource. |
|---|
| 300 | Multiple Choices | 3xx | The request has more than one possible response and the client, or its user, needs to pick one. There is no standard way to present the choices. |
|---|
| 301 | Moved Permanently | 3xx | The resource has a new permanent URL, given in the Location header. Clients and search engines should update their references. |
|---|
| 302 | Foundformerly Moved Temporarily | 3xx | The resource is temporarily at a different URL. The original URL should continue to be used for future requests. |
|---|
| 303 | See Other | 3xx | The response to the request is at another URL and should be retrieved with GET, whatever method was originally used. |
|---|
| 304 | Not Modified | 3xx | The cached copy is still current, so no body is sent. Returned when a conditional request's precondition is met. |
|---|
| 305 | Use ProxyDeprecated | 3xx | Defined to tell a client to reach the resource through a proxy. Deprecated for security reasons and must not be generated. |
|---|
| 306 | (Unused)formerly Switch ProxyReserved, unused | 3xx | Reserved. Used in an early draft of the specification and never standardised, so the number is permanently set aside. |
|---|
| 307 | Temporary Redirect | 3xx | The resource is temporarily elsewhere, and the client must not change the request method when following the redirect. |
|---|
| 308 | Permanent Redirect | 3xx | The resource has moved permanently, and the client must not change the request method when following the redirect. |
|---|
| 400 | Bad Request | 4xx | The server will not process the request because it is malformed — bad syntax, an invalid message frame, or deceptive routing. |
|---|
| 401 | Unauthorized | 4xx | The request lacks valid authentication credentials. The response must include a WWW-Authenticate header describing how to authenticate. |
|---|
| 402 | Payment Required | 4xx | Reserved for future use. No standard meaning has ever been defined, though some APIs use it for billing and quota problems. |
|---|
| 403 | Forbidden | 4xx | The server understood the request and refuses to authorise it. Authenticating differently will not help. |
|---|
| 404 | Not Found | 4xx | The server did not find a current representation for the target resource, and will not say whether the absence is temporary or permanent. |
|---|
| 405 | Method Not Allowed | 4xx | The method is known but not supported for this resource. The response must include an Allow header listing the methods that are. |
|---|
| 406 | Not Acceptable | 4xx | The server cannot produce a response matching the client's Accept headers for content type, language or encoding. |
|---|
| 407 | Proxy Authentication Required | 4xx | Like 401, but the authentication is required by a proxy rather than the origin server. Must include a Proxy-Authenticate header. |
|---|
| 408 | Request Timeout | 4xx | The server closed an idle connection because the client did not produce a request in time. |
|---|
| 409 | Conflict | 4xx | The request conflicts with the current state of the resource, in a way the client could potentially resolve and retry. |
|---|
| 410 | Gone | 4xx | The resource was deliberately removed and the condition is expected to be permanent. Stronger and more specific than 404. |
|---|
| 411 | Length Required | 4xx | The server refuses the request because it has no Content-Length header. |
|---|
| 412 | Precondition Failed | 4xx | A precondition in the request headers evaluated to false on the server — the resource is not in the state the client expected. |
|---|
| 413 | Content Too Largeformerly Payload Too Large, Request Entity Too Large | 4xx | The request body is larger than the server is willing or able to process. |
|---|
| 414 | URI Too Longformerly Request-URI Too Long | 4xx | The request target is longer than the server is willing to interpret. |
|---|
| 415 | Unsupported Media Type | 4xx | The body is in a format the server does not support for this resource and method. |
|---|
| 416 | Range Not Satisfiableformerly Requested Range Not Satisfiable | 4xx | None of the ranges in the request's Range header can be satisfied — typically a start position beyond the end of the resource. |
|---|
| 417 | Expectation Failed | 4xx | The expectation in the request's Expect header cannot be met by the server. |
|---|
| 418 | I'm a TeapotExtension RFCNot a real status | 4xx | From a 1998 April Fools' specification for brewing coffee. Reserved in the IANA registry so nothing else can claim the number, and never a real HTTP status. |
|---|
| 419 | Page ExpiredNon-standard | 4xx | Not an HTTP status code. Used by the Laravel framework when a CSRF token is missing or has expired. |
|---|
| 421 | Misdirected Request | 4xx | The request reached a server that is not configured to produce a response for the requested scheme and authority. |
|---|
| 422 | Unprocessable Contentformerly Unprocessable Entity | 4xx | The syntax is correct and the content type is understood, but the server cannot process the instructions it contains. |
|---|
| 423 | LockedWebDAV | 4xx | The target resource is locked and cannot be modified. |
|---|
| 424 | Failed DependencyWebDAV | 4xx | The request failed because an earlier request it depended on failed. |
|---|
| 425 | Too EarlyExtension RFC | 4xx | The server is unwilling to process a request sent in TLS early data, because it could be replayed by an attacker. |
|---|
| 426 | Upgrade Required | 4xx | The server refuses to use the current protocol and requires an upgrade. Must include an Upgrade header naming the required protocol. |
|---|
| 428 | Precondition RequiredExtension RFC | 4xx | The server requires the request to be conditional, to stop a client overwriting changes it has not seen. |
|---|
| 429 | Too Many RequestsExtension RFC | 4xx | The client has sent too many requests in a given period. A Retry-After header should say when to try again. |
|---|
| 431 | Request Header Fields Too LargeExtension RFC | 4xx | The server refuses the request because its header fields are too large, either individually or in total. |
|---|
| 451 | Unavailable For Legal ReasonsExtension RFC | 4xx | The resource is unavailable because of a legal demand — a court order, statutory censorship or a takedown notice. |
|---|
| 499 | Client Closed RequestNon-standard | 4xx | Not an HTTP status code. Logged by nginx when the client disconnects before the server has sent a response. |
|---|
| 500 | Internal Server Error | 5xx | The server hit an unexpected condition and cannot be more specific. The catch-all server error. |
|---|
| 501 | Not Implemented | 5xx | The server does not support the functionality needed — specifically, it does not recognise the request method at all. |
|---|
| 502 | Bad Gateway | 5xx | A server acting as a gateway or proxy received an invalid response from the upstream server it needed to reach. |
|---|
| 503 | Service Unavailable | 5xx | The server cannot handle the request right now, usually because it is overloaded or down for maintenance. The condition is expected to be temporary. |
|---|
| 504 | Gateway Timeout | 5xx | A gateway or proxy did not get a response from the upstream server within the time it was prepared to wait. |
|---|
| 505 | HTTP Version Not Supported | 5xx | The server does not support the major HTTP version used in the request. |
|---|
| 506 | Variant Also NegotiatesExtension RFC | 5xx | A content negotiation misconfiguration: the chosen variant is itself set up to negotiate, creating a circular reference. |
|---|
| 507 | Insufficient StorageWebDAV | 5xx | The server cannot store the representation needed to complete the request. |
|---|
| 508 | Loop DetectedWebDAV | 5xx | The server stopped an operation because it found an infinite loop while processing the request. |
|---|
| 510 | Not ExtendedExtension RFCObsoleted | 5xx | Defined so a server could say a request needed further extensions. The experiment it came from was retired and the code is obsolete. |
|---|
| 511 | Network Authentication RequiredExtension RFC | 5xx | The client must authenticate to get network access — generated by an intercepting proxy rather than the origin server. |
|---|
| 520 | Web Server Returned an Unknown ErrorNon-standard | 5xx | Not an HTTP status code. A Cloudflare error meaning the origin server returned something empty, unexpected or malformed. |
|---|
| 521 | Web Server Is DownNon-standard | 5xx | Not an HTTP status code. A Cloudflare error meaning the origin server refused the connection. |
|---|
| 522 | Connection Timed OutNon-standard | 5xx | Not an HTTP status code. A Cloudflare error meaning the TCP handshake with the origin server did not complete in time. |
|---|
| 523 | Origin Is UnreachableNon-standard | 5xx | Not an HTTP status code. A Cloudflare error meaning the origin server could not be reached at all, often a DNS or routing problem. |
|---|
| 524 | A Timeout OccurredNon-standard | 5xx | Not an HTTP status code. A Cloudflare error meaning the connection to the origin succeeded but no response arrived within the time limit. |
|---|
| 525 | SSL Handshake FailedNon-standard | 5xx | Not an HTTP status code. A Cloudflare error meaning the TLS handshake with the origin server failed. |
|---|
| 526 | Invalid SSL CertificateNon-standard | 5xx | Not an HTTP status code. A Cloudflare error meaning the origin server's TLS certificate could not be validated. |
|---|