Status Code

1xx - Informational

These status codes indicate provisional responses and are informational. They are used to inform the client that the server has received the request and is continuing the process.

  • 100 Continue: Indicates that the initial part of the request has been received and the client should continue with the request or ignore if already completed.

  • 101 Switching Protocols: Informs the client that the server will switch to the protocol specified in the Upgrade header field of the request.

  • 102 Processing: This code indicates that the server has received and is processing the request, but the response is not yet valid.

  • 103 Early Hints: Used to return some response headers before the final HTTP message.

2xx - Success

These status codes indicate that the request was successfully received, understood, and accepted.

  • 200 OK: Standard response for successful HTTP requests, indicating success.

  • 201 Created: Indicates that the request has been fulfilled and a new resource has been created.

  • 202 Accepted: The request has been received but has not been executed. This request is non-committal because there is no way in HTTP to later send an asynchronous response indicating the result of the request. It is intended for scenarios where 1 other process/server handles the request or for batch processing.

  • 203 Non-Authoritative Information: This response code means that the meta-information returned is not exactly the same as the information available from the origin server, but was collected from a local or 3rd party copy. This code is mainly used for mirroring or backing up other resources. Except for that specific case, a “200 OK” response is usually preferred for this state.

  • 204 No Content: Indicates that the server successfully processed the request but doesn’t need to return any content.

  • 205 Reset Content: Tells the user-agent to reset the document that sent this request.

  • 206 Partial Content: This response code is used when the Range header is sent from the client to request only part of the resource.

  • 207 Multi-Status: Conveys information about multiple resources, for situations where multiple status codes may be appropriate.

  • 208 Already Reported: Used in a <dav:propstat> response element to avoid multiple listing of internal members of multiple links into the same set.

  • 226 IM Used : The server has completed a GET request for the resource and the response is a representation of the results of 1 or more instance operations applied to the current instance.

3xx - Redirection

These status codes indicate that further action needs to be taken to fulfill the request.

  • 301 Moved Permanently: Indicates that the requested resource has been permanently moved to a new URL.

  • 302 Found: Indicates that the requested resource temporarily resides under a different URL.

  • 303 See Other: The server sends this response to direct the client to get the resource at a different URI with a GET request.

  • 304 Not Modified: This code is used for caching purposes. It tells the client that the response has not been adjusted, so the client can continue using the same cached version of the response.

  • 305 Use Proxy: Defined in a previous version of the HTTP specification to indicate that the requested response must be accessed by a proxy. It is required due to security concerns related to the proxy's in-band configuration.

  • 306 unused: This response code is no longer used, it is reserved and only used in the previous version of the HTTP/1.1 specification.

  • 307 Temporary Redirect: Informs the client to reissue the request to the new location.

  • 308 Permanent Redirect: This means that the resource is now permanently located at a different URI, specified by the Location: HTTP Response header. This code has the same meaning as the HTTP 301 Moved Permanently response code, except that the user-agent must not change the HTTP method used: if POST was used in the first request, POST must be used in the second request. two.

4xx - Client Error:

These status codes indicate that there was an error on the client side, and the request cannot be fulfilled.

  • 400 Bad Request: Indicates that the server cannot process the request due to invalid syntax or a client error.

  • 401 Unauthorized: Indicates that the client needs to authenticate itself to get the requested response.

  • 402 Payment Required: This response code is reserved for future use. The original purpose of creating this code was to use it for digital payment systems, however this status code is rarely used and no standard convention exists.

  • 403 Forbidden: The client does not have permission to access the content, meaning it is not authorized, so the server refuses to provide the requested resource. Unlike 401, the client's identity is known to the server.

  • 404 Not Found: Indicates that the server cannot find the requested resource.

  • 405 Method Not Allowed: The request method is recognized by the server but has been disabled and cannot be used. For example, an API might prohibit DELETING a resource. The two required methods, GET and HEAD, should never be disabled and should not return this error code.

  • 406 Not Acceptable: This response is sent when the web server, after performing server-driven content negotiation, does not find any content that matches the criteria given by the user-agent.

  • 407 Proxy Authentication Required: This code is similar to 401 but authentication is needed to be performed by the proxy.

  • 408 Request Timeout: This response is sent on an idle connection by some server, even without any previous requests from the client. It means the server wants to disable this unused connection. This response is used more because some browsers, such as Chrome, Firefox 27+ or IE9, use the HTTP preconnection mechanism to speed up web surfing. Also note that some servers just turn off the connection without sending this notification.

  • 409 Conflict: This response is sent when a request conflicts with the current state of the server.

  • 410 Gone: This response is sent when the requested content has been permanently deleted from the server, with no forwarding address. The client must clear its cache and links to the resource. HTTP specification intends this status code to be used for “limited, promotional services”. APIs should not be required to indicate deleted resources with this status code.

  • 411 Length Required: The server rejected the request because the Content-Lenghth header field is undefined and the server required it.

  • 412 Precondition Failed: The client has indicated preconditions in its headers that the server cannot meet.

  • 413 Payload Too Large: The request entity is larger than the server-defined limit, the server may close the connection or return the Retry-After header field.

  • 414 URI Too Long: The URI requested by the client is longer than the server wants to interpret.

  • 415 Unsupported Media Type: The media format of the requested data is not supported by the server, so the server is rejecting the request.

  • 416 Range Not Satisfiable: The client requested part of the file but the server cannot provide it. Previously known as “Requested Range Not Satisfiable”.

  • 417 Expectation Failed: The server cannot meet the requests of the Expect field in the header.

5xx - Server Error:

These status codes indicate that there was an error on the server side while trying to fulfill the request.

  • 500 Internal Server Error: A generic error message indicating an unexpected condition preventing the server from fulfilling the request.

  • 501 Not Implemented: The server does not recognize the request method or is not capable of processing it.

  • 502 Bad Gateway: The server was acting as a gateway or proxy and received an invalid response from the source server.

  • 503 Service Unavailable: Indicates that the server is temporarily unable to handle the request due to overload or maintenance.

  • 504 Gateway Timeout: The server was acting as a gateway or proxy and did not receive a response from the source server.

  • 505 HTTP Version Not Supported: The server does not support the “HTTP protocol” version.

Last updated