The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
The request has not been applied because it lacks valid authentication credentials for the target resource.
The server understood the request but refuses to authorize it.
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
The method received in the request-line is known by the origin server but not supported by the target resource.
he target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.
Similar to 401 Unauthorized, but it indicates that the client needs to authenticate itself in order to use a proxy.
The server did not receive a complete request message within the time that it was prepared to wait.
The request could not be completed due to a conflict with the current state of the target resource. This code is used in situations where the user might be able to resolve the conflict and resubmit the request.
The target resource is no longer available at the origin server and that this condition is likely to be permanent.
The server refuses to accept the request without a defined Content-Length.
One or more conditions given in the request header fields evaluated to false when tested on the server.
The server is refusing to process a request because the request payload is larger than the server is willing or able to process.
The server is refusing to service the request because the request-target is longer than the server is willing to interpret.
The origin server is refusing to service the request because the payload is in a format not supported by this method on the target resource.
None of the ranges in the request's Range header field1 overlap the current extent of the selected resource or that the set of ranges requested has been rejected due to invalid ranges or an excessive request of small or overlapping ranges.
The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.
Any attempt to brew coffee with a teapot should result in the error code "418 I'm a teapot". The resulting entity body MAY be short and stout.
The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority that are included in the request URI.
The server understands the content type of the request entity (hence a 415 Unsupported Media Type status code is inappropriate), and the syntax of the request entity is correct (thus a 400 Bad Request status code is inappropriate) but was unable to process the contained instructions.
The source or destination resource of a method is locked.
The method could not be performed on the resource because the requested action depended on another action and that action failed.
The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.
The origin server requires the request to be conditional.
The user has sent too many requests in a given amount of time ("rate limiting").
The server is unwilling to process the request because its header fields are too large. The request MAY be resubmitted after reducing the size of the request header fields.
A non-standard status code used to instruct nginx to close the connection without sending a response to the client, most commonly used to deny malicious or malformed requests.
The server is denying access to the resource as a consequence of a legal demand.
A non-standard status code introduced by nginx for the case when a client closes the connection while nginx is processing the request.