standard codes
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 (WebDAV RFC 2518) : A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request.
103: Early Hints (RFC 8297) : Used to return some response headers before final HTTP message.
200: OK : Standard response for successful HTTP requests.
201: Created : The request has been fulfilled, resulting in the creation of a new resource.
202: Accepted : The request has been accepted for processing, but the processing has not been completed.
203: Non-Authoritative Information (since HTTP/1.1) : The server is a transforming proxy that received a 200 OK from its origin, but is returning a modified version of the origin’s response.
204: No Content : The server successfully processed the request, and is not returning any content.
205: Reset Content : The server successfully processed the request, asks that the requester reset its document view, and is not returning any content.
206: Partial Content : The server is delivering only part of the resource (byte serving) due to a range header sent by the client.
207: Multi-Status (WebDAV; RFC 4918) : The message body that follows is by default an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.
208: Already Reported (WebDAV; RFC 5842) : The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.
226: IM Used (RFC 3229) :The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.
300 Multiple Choices : Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation).
301 Moved Permanently : This and all future requests should be directed to the given URI.
302 Found (Previously “Moved temporarily”) : Tells the client to look at (browse to) another URL.
303 See Other (since HTTP/1.1) : The response to the request can be found under another URI using the GET method.
304 Not Modified : Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match.
305 Use Proxy (since HTTP/1.1) : The requested resource is available only through a proxy, the address for which is provided in the response.
306 Switch Proxy : No longer used. Originally meant “Subsequent requests should use the specified proxy.”
307 Temporary Redirect (since HTTP/1.1) : In this case, the request should be repeated with another URI; however, future requests should still use the original URI.
308 Permanent Redirect : This and all future requests should be directed to the given URI.
400 Bad Request : The server cannot or will not process the request due to an apparent client error.
401 Unauthorized : Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.
402 Payment Required : Reserved for future use.
403 Forbidden :The request contained valid data and was understood by the server, but the server is refusing action.
404 Not Found : The requested resource could not be found but may be available in the future.
405 Method Not Allowed : A request method is not supported for the requested resource.
406 Not Acceptable :The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. See Content negotiation.
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 was previously in use but 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 resources
412 Precondition Failed :The server does not meet one of the preconditions that the requester put on the request header fields.
413 Payload Too Large : The request is larger than the server is willing or able to process. Previously called “Request Entity Too Large”.
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 (byte serving), 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 (RFC 2324, RFC 7168) : in RFC 2324, Hyper Text Coffee Pot Control Protocol, and is not expected to be implemented by actual HTTP servers.
421 Misdirected Request : The request was directed at a server that is not able to produce a response (for example because of connection reuse).
422 Unprocessable Content : The request was well-formed (i.e., syntactically correct) but could not be processed.
423 Locked (WebDAV; RFC 4918) : The resource that is being accessed is locked.
424 Failed Dependency (WebDAV; RFC 4918) : The request failed because it depended on another request and that request failed (e.g., a PROPPATCH).
425 Too Early (RFC 8470) : 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.3, given in the Upgrade header field.
428 Precondition Required (RFC 6585) : The origin server requires the request to be conditional.
429 Too Many Requests (RFC 6585) : The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes.
431 Request Header Fields Too Large (RFC 6585) : 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 (RFC 7725) : 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.
500 Internal Server Error : A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
501 Not Implemented : The server either does not recognize the request method, or it lacks the ability to fulfil 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 cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.
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 version used in the request.
506 Variant Also Negotiates (RFC 2295) : Transparent content negotiation for the request results in a circular reference.
507 Insufficient Storage (WebDAV; RFC 4918) : The server is unable to store the representation needed to complete the request.
508 Loop Detected (WebDAV; RFC 5842) : The server detected an infinite loop while processing the request (sent instead of 208 Already Reported).
510 Not Extended (RFC 2774) : Further extensions to the request are required for the server to fulfill it.
511 Network Authentication Required (RFC 6585) : The client needs to authenticate to gain network access. Intended for use by intercepting proxies used to control access to the network.
Nonstandard code
218 This is fine (Apache HTTP Server) : Used by Apache servers.
419 Page Expired (Laravel Framework) : Used by the Laravel Framework when a CSRF Token is missing or expired.
420 Method Failure (Spring Framework) : A deprecated response status proposed during the development of WebDAV used by the Spring Framework when a method has failed.
420 Enhance Your Calm (Twitter) : Returned by version 1 of the Twitter Search and Trends API when the client is being rate limited.
430 Request Header Fields Too Large (Shopify) : A deprecated response used by Shopify,
430 Shopify Security Rejection (Shopify) : Used by Shopify to signal that the request was deemed malicious.
450 Blocked by Windows Parental Controls (Microsoft) : The Microsoft extension code indicated when Windows Parental Controls are turned on and are blocking access to the requested webpage.
498 Invalid Token (Esri) : Returned by ArcGIS Server. Code 498 indicates an expired or otherwise invalid token.
499 Token Required (Esri) : Returned by ArcGIS Server. Code 499 indicates that a token is required but was not submitted.
508 Resource Limit Is Reached (cPanel) : Used instead of 503 when the server’s account has exceeded the resources assigned to it.
509 Bandwidth Limit Exceeded (Apache Web Server/cPanel) : The server has exceeded the bandwidth specified by the server administrator.
525 SSL handshake failed (Cloudflare) : This error indicates that the SSL handshake between Cloudflare and the origin web server failed.
526 Invalid SSL certificate (Cloudflare) : This error indicates that Cloudflare is unable to verify the SSL certificate on the origin server.
529 Site is overloaded : Used by Qualys in the SSLLabs server testing API to signal that the site can not process the request.
530 Site is frozen : Used by the Pantheon Systems web platform to indicate a site that has been frozen due to inactivity.
530 Origin DNS Error (Shopify) : Used by Shopify to indicate that Cloudflare can’t resolve the requested DNS record.
530 Origin Unavailable (Cloudflare) : Used by Cloudflare to indicate that it is unable to resolve the origin hostname, preventing it from establishing a connection to the origin server.
540 Temporarily Disabled (Shopify) : Used by Shopify to indicate that the requested endpoint has been temporarily disabled.
598 (Informal convention) Network read timeout error : Used by some HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.
599 Network Connect Timeout Error : An error used by some HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.
783 Unexpected Token (Shopify) : Used by Shopify to indicate that the request includes a JSON syntax error.
999 Non-standard : Error 999 is used by LinkedIn and is related to being blocked/walled or unable to access their webpages without first signing in.
Internet Information Services
440 Login Time-out : The client’s session has expired and must log in again.
449 Retry With : The server cannot honour the request because the user has not provided the required information.
451 Redirect : Used in Exchange ActiveSync when either a more efficient server is available or the server cannot access the users’ mailbox.
444 No Response : Used internally to instruct the server to return no information to the client and close the connection immediately.
494 Request header too large : Client sent too large request or too long header line.
495 SSL Certificate Error : An expansion of the 400 Bad Request response code, used when the client has provided an invalid client certificate.
496 SSL Certificate Required : An expansion of the 400 Bad Request response code, used when a client certificate is required but not provided.
497 HTTP Request Sent to HTTPS Port : An expansion of the 400 Bad Request response code, used when the client has made a HTTP request to a port listening for HTTPS requests.
499 Client Closed Request : Used when the client has closed the request before the server could send a response.
Cloudflare
520 Web Server Returned an Unknown Error : The origin server returned an empty, unknown, or unexpected response to Cloudflare.
521 Web Server Is Down : The origin server refused connections from Cloudflare. Security solutions at the origin may be blocking legitimate connections from certain Cloudflare IP addresses.
522 Connection Timed Out : Cloudflare timed out contacting the origin server.
523 Origin Is Unreachable : Cloudflare could not contact the origin server.
524 A Timeout Occurred : Cloudflare was able to complete a TCP connection to the origin server, but the origin did not provide a timely HTTP response.
525 SSL Handshake Failed : Cloudflare could not negotiate a SSL/TLS handshake with the origin server.
526 Invalid SSL Certificate : Cloudflare could not validate the SSL certificate on the origin web server. Also used by Cloud Foundry’s gorouter.
527 Railgun Error (obsolete) : Error 527 indicated an interrupted connection between Cloudflare and the origin server’s Railgun server.
530 Cloudflare was unable to resolve the origin hostname, preventing it from establishing a connection to the origin server.
AWS Elastic Load Balancing
000 Returned with an HTTP/2 GOAWAY frame if the compressed length of any of the headers exceeds 8K bytes or if more than 10K requests are served through one connection.
460 Client closed the connection with the load balancer before the idle timeout period elapsed.
463 The load balancer received an X-Forwarded-For request header with more than 30 IP addresses.
464 Incompatible protocol versions between Client and Origin server.
561 Unauthorized : An error around authentication returned by a server registered with a load balancer.
Caching warning codes (obsoleted)
110 Response is Stale : The response provided by a cache is stale (the content’s age exceeds a maximum age set by a Cache-Control header or heuristically chosen lifetime).
111 Revalidation Failed : The cache was unable to validate the response, due to an inability to reach the origin server.
112 Disconnected Operation : The cache is intentionally disconnected from the rest of the network.
113 Heuristic Expiration : The cache heuristically chose a freshness lifetime greater than 24 hours and the response’s age is greater than 24 hours.
199 Miscellaneous Warning : Arbitrary, non-specific warning. The warning text may be logged or presented to the user.
214 Transformation Applied : Added by a proxy if it applies any transformation to the representation, such as changing the content encoding, media type or the like.
299 Miscellaneous Persistent Warning : Same as 199, but indicating a persistent warning.