4xx - Client Error
400 (Bad request)
This request was not understood by the server, probably because it was incorrectly formed. Please do not repeat this request until the error has been corrected.
401 (Unauthorized)
The request requires user authentication that has not been supplied.
402 (Payment Required)
The intention was that this code was to be used as part of a payment scheme, so far this has not happened and this code is currently not in use.
403 (Forbidden)
Access is not allowed to this resource authorization will not help and the request should not be repeated.
404 (Not Found)
The 404 status code indicates that no resource is know at this location. (410 "Gone" should be used if the resource has been permanently removed).
405 (Method Not Allowed)
The type of request you are making is not allowed. Methods include GET, POST and HEAD, however web servers can be configured to disallow any of these (or other methods) the method you are using may have been disallowed on this server. Alternatively you are attempting to use a method that this server simply does not understand.
406 (Not Acceptable)
The client has requested a resource, but this resource is in a format that it not allowed by that client.
407 (Proxy Authentication Required)
This code is similar to 401 (Unauthorized) but in this instance access must be made via a proxy that in turn requires authentication.
408 (Request Timeout)
At some point in communication between the client and the server a timeout has occurred. The connection has been closed and will have to be re-established.
409 (Conflict)
There is a conflict between the client request for a resource and that resource (or rule that governs that resource). For example if you are trying to modify a resource that is not allowed to be modified, or if you are uploading a file that is older than the one already there.
410 (Gone)
This resource has been removed permanently (or someone is hiding it!).
411 (Length Required)
The client did not define the length of the resource. This is often required when a resource is being sent to a server so that the server can determine how to handle the resource based on its file size. This may include rules such as a maximum allowable file size.
412 (Precondition Failed)
The request for a resource included a precondition that was not met. For example; provide this resource if it is a video under 100 kilobytes.
413 (Request Entity Too Large)
The resource (probably being sent to a server) is too large (in bytes).
414 (Request-URI Too Long)
The location URI is too long. Typically servers have large limits on URI's and so it is unlikely that this error is caused simply by the location part of the URL itself. It is more likely that a GET request has added erroneous data to the URI, or perhaps a POST has been converted into a GET.
415 (Unsupported Media Type)
Generally this means that a request has been made for a media type that is unsupported by the server, however this may also be caused by a conflict between the request (requesting an image), when in fact the resource is a text document.
416 (Requested Range Not Satisfiable)
The client, which sends information on acceptable file size as part of its request, may have requested a file that does not satisfy these parameters.
417 (Expectation Failed)
The client can send "Expect headers" that are used to indicate that particular server behaviors are required by the client. The server did not meet these expectations.
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. The RFC specifies this code should be returned by teapots requested to brew coffee. This HTTP status is used as an Easter egg in some websites, such as Google.com's I'm a teapot easter egg.
421 (Misdirected Request)
The request was directed at a server but it was not able to produce a response.
422 (Unprocessable Entity)
The request was well-formed but was unable to be followed due to semantic errors.
423 (Locked)
The resource that is being accessed is locked/ private.
424 (Failed Dependency)
The request failed because it depended on another request and that request failed.
425 (Too Early)
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)
The origin server requires the request to be conditional. Intended to prevent the "lost update" problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.
429 (Too Many Requests)
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)
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)
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. (The code 451 was chosen as a reference to the novel Fahrenheit 451).