Redirection errors (3xx)
300 Multiple Choices - indicates multiple options for the resource that the client may follow.
301 Moved Permanently - This and all future requests should be directed to the given URL
302 Found - required the client to perform a temporary redirect (the original describing phrase was "Moved Temporarily")
303 See Other - The response to the request can be found under another URL using a 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-Match
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 URL; however, future requests should still use the original URL.
308 Permanent Redirect - the request, and all future requests should be repeated using another URL.
Client errors (4xx)
400 Bad Request - the request cannot be fulfilled due to bad syntax.
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 was a valid request, but the server is refusing to respond to it.
404 Not Found - the requested resource could not be found but may be available again in the future.
405 Method Not Allowed - a request was made of a resource using a request method not supported by that resource
406 Not Acceptable - the requested resource is only capable of generating 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 request, such as an edit conflict in the case of multiple updates.
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 Request Entity Too Large - the request is larger than the server is willing or able to process.
414 Request-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 Requested 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 - this code was defined in 1998 as one of the traditional IETF April Fools' jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol, and is not expected to be implemented by actual HTTP servers.
419 Authentication Timeout - not a part of the HTTP standard, 419 Authentication Timeout denotes that previously valid authentication has expired.
420 Method Failure - not part of the HTTP standard, but defined by Spring in the HttpStatus class to be used when a method failed.
420 Enhance Your Calm - not part of the HTTP standard, but returned by version 1 of the Twitter Search and Trends API when the client is being rate limited.
422 Unprocessable Entity - the request was well-formed but was unable to be followed due to semantic errors.
423 Locked - еhe resource that is being accessed is locked.
424 Failed Dependency - еhe request failed due to failure of a previous request.
425 Unordered Collection - defined in drafts of "WebDAV Advanced Collections Protocol", but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol".
426 Upgrade Required - the client should switch to a different protocol such as TLS/1.0.
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.
440 Login Timeout - a Microsoft extension. Indicates that your session has expired.
444 No Response - used in Nginx logs to indicate that the server has returned no information to the client and closed the connection.
449 Retry With - a Microsoft extension. The request should be retried after performing the appropriate action.
450 Blocked by Windows Parental Controls - a Microsoft extension. This error is given when Windows Parental Controls are turned on and are blocking access to the given webpage.
451 Unavailable For Legal Reasons - defined in the internet draft "A New HTTP Status Code for Legally-restricted Resources".
451 Redirect - used in Exchange ActiveSync if there either is a more efficient server to use or the server cannot access the users' mailbox.
494 Request Header Too Large - Nginx internal code similar to 431 but it was introduced earlier.
495 Cert Error - Nginx internal code used when SSL client certificate error occurred to distinguish it from 4XX in a log and an error page redirection.
496 No Cert - Nginx internal code used when client didn't provide certificate to distinguish it from 4XX in a log and an error page redirection.
497 HTTP to HTTPS - Nginx internal code used for the plain HTTP requests that are sent to HTTPS port to distinguish it from 4XX in a log and an error page redirection.
499 Client Closed Request - used in Nginx logs to indicate when the connection has been closed by client while the server is still processing its request, making server unable to send a status code back.
Server Errors (5xx)
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 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 unavailable (because it is overloaded or down for 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.
509 Bandwidth Limit Exceeded - this status code is not specified in any RFCs. Its use is unknown.
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.
520 Origin Error - this status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal an "unknown connection issue between CloudFlare and the origin web server" to a client in front of the proxy.
521 Web server is down - this status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to indicate that the origin web server refused the connection.
522 Connection timed out - this status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal that a server connection timed out.
523 Proxy Declined Request - this status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal a resource that has been blocked by the administrator of the website or proxy itself.
524 A timeout occurred - this status code is not specified in any RFCs, but is used by Cloudflare's reverse proxies to signal a network read timeout behind the proxy to a client in front of the proxy.
598 Network read timeout error - this status code is not specified in any RFCs, but is used by Microsoft HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.
599 Network connect timeout error - this status code is not specified in any RFCs, but is used by Microsoft HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.