Preface: A HTTP status code is issued from the server in response to a client's request made to the server. The five status code response classes are informational, successful, redirection, client error and server error.
Server error status codes indicate that the request was valid, but an error on the server is preventing its fulfillment.
- 500 Internal Server Error
- 501 Not Implemented
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
- 505 HTTP Version Not Supported
- 506 Variant Also Negotiates
- 507 Insufficient Storage (WebDAV)
- 508 Loop Detected (WebDAV)
- 510 Not Extended
- 511 Network Authentication Required
- 598 Network Read Timeout Error
- 599 Network Connect Timeout Error
Definition: The request can't be fulfilled due to an unexpected condition encountered by the server. This error response is a generic "catch-all" response, given when no more specific message is suitable.
500 Internal Server Error is defined in RFC 7231.
Definition: The request can't be fulfilled because the server does not support the functionality required to fulfill it. A
Retry-After header can also be sent to tell the requester when to check back to see if the functionality is supported by then.
501 Not Implemented is the appropriate response when the server does not recognize the request method and is incapable of supporting it for any resource. The only methods that servers are required to support (and therefore that must not return
501 Not Implemented) are
HEAD. If the server does recognize the method, but intentionally does not support it, the appropriate response is
405 Method Not Allowed.
501 Not Implemented is defined in RFC 7231.
Definition: The request cannot be fulfilled because the server was acting as a gateway or a proxy and received an invalid response from the upstream server.
502 Bad Gateway is defined in RFC 7231.
Definition: The request cannot be handled by the server because it is overloaded or down for maintenance. In other words, the server is not ready to handle the request. This response should be used for temporary conditions and the
Retry-After HTTP header should, if possible, contain the estimated time for the recovery of the service. Caching-related headers that are sent along with this response should be taken care of, as a
503 Service Unavailable status is often a temporary condition and responses shouldn't usually be cached.
503 Service Unavailable is defined in RFC 7231.
Definition: The request cannot be fulfilled because the server was acting as a gateway or a proxy and it did not receive a response in time from the upstream server.
504 Gateway Timeout is defined in RFC 7231.
The request is using an HTTP version that is not supported by the server.
505 HTTP Version Not Supported is defined in RFC 7231.
Definition: The request was made in the context of Transparent Content Negotiation, a protocol that enables a client to retrieve the best variant of a given resource, where the server supports multiple variants. The
506 Variant Also Negotiates status code indicates an internal server configuration error in which the chosen variant is itself configured to engage in content negotiation, so is not a proper negotiation endpoint.
506 Variant Also Negotiates is defined in RFC 2295.
Definition: The request cannot be fulfilled because the server is unable to store the representation needed to complete it.
507 Insufficient Storage is defined in RFC 4918.
The request cannot be fulfilled because the server detected an infinite loop while processing it. This status indicates that the entire operation failed.
508 Loop Detected is defined in RFC 5842.
Definition: The request was made in the context of the HTTP Extension Framework and cannot be fulfilled because one, many or all the described extensions are not supported by it.
510 Not Extended is defined in RFC 2774.
Definition: The request was made without proper identification. The client needs to authenticate to gain network access. This status is not generated by origin servers, but by intercepting proxies that control access to the network. Network operators sometimes require some authentication, acceptance of terms, or other user interaction before granting access (for example in an internet café or at an airport). They often identify clients who have not done so using their Media Access Control (MAC) addresses.
511 Network Authentication Required is defined in RFC 6585.
Definition: This status code is not specified in any RFCs, but is used by some HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.
Definition: This status code is not specified in any RFCs, but is used by some HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.
Unofficial and customized non-standard responses defined by server softwares are not included in the list above.