HTTP response status codes with their classes
- Informational responses (100 – 199)
- Successful responses (200 – 299)
- Redirection messages (300 – 399)
- Client error responses (400 – 499)
- Server error responses (500 – 599)
Informational responses are a group of HTTP status codes that indicate that the server has received the request and is continuing to process it. These codes are usually used to provide information to the client about the status of the request, without necessarily indicating success or failure.
Here are all the Informational responses (100 – 199) with their definitions:
- 100 Continue - The server has received the initial part of the request and will continue to process it.
- 101 Switching Protocols - The server is switching protocols to follow the request of the client.
- 102 Processing - The server is still processing the request, but has not yet returned a response.
- 103 Early Hints - The server is sending some headers before the final response, to give the client some hints about the response.
Successful responses (200 – 299):
Successful responses are a group of HTTP status codes that indicate that the request was successfully received, understood, and accepted by the server. These codes are usually used to indicate that the requested action has been successfully completed or that the requested resource is available.
Here are all the Successful responses (200 – 299) with their definitions:
- 200 OK - The request has been successfully received, understood, and accepted.
- 201 Created - The request has been successfully fulfilled, and a new resource has been created.
- 202 Accepted - The request has been accepted, but the processing has not been completed yet.
- 203 Non-Authoritative Information - The server is providing information that may be from a third party, not the original server.
- 204 No Content - The request has been successfully processed, but there is no content to return.
- 205 Reset Content - The request has been successfully processed, and the client should reset the view.
- 206 Partial Content - The request has been successfully processed, and the response contains only a portion of the requested content.
- 207 Multi-Status - The message body that follows is an XML message that can contain multiple response codes for separate entities.
- 208 Already Reported - The members of a DAV binding have already been enumerated in a previous reply to this request, and are not being included again.
Redirection messages (300 – 399):
Redirection messages are a group of HTTP status codes that indicate that the requested resource is no longer available at the requested location and has been moved to a new location. These codes are usually used to inform the client that they need to take further action to access the requested resource.
Here are all the Redirection messages (300 – 399) with their definitions:
- 300 Multiple Choices - The requested resource has multiple representations, each with its own URI, and the server is providing a list of those URIs.
- 301 Moved Permanently - The requested resource has been permanently moved to a new location, and the client should update its links to the new URL.
- 302 Found - The requested resource has been temporarily moved to a new location, and the client should continue to use the original URL.
- 303 See Other - The requested resource can be found at a different URI, and the client should redirect its request to that URI.
- 304 Not Modified - The client's cached copy of the requested resource is still valid, and the server has not modified its copy.
- 305 Use Proxy - The requested resource must be accessed through the proxy specified in the Location header.
- 306 (Unused) - This status code was used in a previous version of the HTTP specification but is no longer used.
- 307 Temporary Redirect - The requested resource has been temporarily moved to a new location, and the client should continue to use the original URL.
- 308 Permanent Redirect - The requested resource has been permanently moved to a new location, and the client should update its links to the new URL.
Client error responses (400 – 499):
Client error responses are a group of HTTP status codes that indicate that the client's request was not successful due to an error on the client's side. These codes are usually used to indicate that the client's request was malformed or invalid in some way.
Here are all the Client error responses (400 – 499) with their definitions:
- 400 Bad Request - The server cannot understand the client's request because it is malformed or invalid.
- 401 Unauthorized - The requested resource requires authentication, and the client has not provided valid authentication credentials.
- 402 Payment Required - This code is reserved for future use.
- 403 Forbidden - The client does not have permission to access the requested resource.
- 404 Not Found - The requested resource could not be found at the specified URL.
- 405 Method Not Allowed - The requested resource does not support the HTTP method used by the client.
- 406 Not Acceptable - The requested resource cannot produce a response matching the list of acceptable values defined in the request's headers.
- 407 Proxy Authentication Required - The requested resource requires authentication through a proxy, and the client has not provided valid authentication credentials.
- 408 Request Timeout - The client did not produce a request within the time that the server was willing to wait.
- 409 Conflict - The client's request conflicts with another request or resource on the server.
- 410 Gone - The requested resource is no longer available at the server and no forwarding address is known.
- 411 Length Required - The client must specify the length of the content in the request's headers.
- 412 Precondition Failed - The server does not meet one of the preconditions specified by the client in the request's headers.
- 413 Payload Too Large - The request's payload exceeds the maximum size allowed by the server.
- 414 URI Too Long - The requested URL exceeds the maximum length allowed by the server.
- 415 Unsupported Media Type - The request's payload is in a format not supported by the requested resource.
- 416 Range Not Satisfiable - The requested range cannot be served by the server.
- 417 Expectation Failed - The server cannot meet the requirements of the Expect request-header field.
- 418 I'm a teapot - This code is a joke response, and is not intended to be used seriously.
- 421 Misdirected Request - The request was directed at a server that is not able to produce a response.
- 422 Un-processable Entity - The server understands the content type of the request, but the request is semantically incorrect.
- 423 Locked - The requested resource is locked and only available to the requesting client.
- 424 Failed Dependency - The request failed due to a failure of a previous request.
- 426 Upgrade Required - The client must switch to a different protocol.
- 428 Precondition Required - The server requires the client to include the Precondition header field.
- 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 its header fields are too large.
- 451 Unavailable For Legal Reasons - The server is denying access to the requested resource due to legal reasons.
Server error responses (500 – 599):
Server error responses are a group of HTTP status codes that indicate that the server was unable to fulfill a valid request made by the client, typically because of an error on the server's side. These codes are usually used to indicate that the server encountered an unexpected condition or error while processing the request.
Here are all the Server error responses (500 – 599) with their definitions:
- 500 Internal Server Error - The server encountered an unexpected condition or error that prevented it from fulfilling the request.
- 501 Not Implemented - The server does not support the functionality required to fulfill the request.
- 502 Bad Gateway - The server, while acting as a gateway or proxy, received an invalid response from an upstream server.
- 503 Service Unavailable - The server is currently unable to handle the request due to a temporary overload or maintenance of the server.
- 504 Gateway Timeout - The server, while acting as a gateway or proxy, did not receive a response from an upstream server in a timely manner.
- 505 HTTP Version Not Supported - The server does not support or refuses to support the HTTP protocol version specified in the request's headers.
- 506 Variant Also Negotiates - The server has an internal configuration error that prevents it from responding to the requested resource with the available content.
- 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 - The server has exceeded the bandwidth limit for the requested resource.
- 510 Not Extended - The server does not support the required extensions for the requested resource.
- 511 Network Authentication Required - The client needs to authenticate to gain network access.