Response Status codesThe status code extensible element is a integer of 3 digit which is a result given back when a attempt is made to satisfy the request. HTTP clients need not to understand the detailed information of the codes but the basic understanding of different classes of status codes is must. The class is generally identified through the first digit of the code as in if the code is x00 , then particular class can be identified with the help of x.Here, the exception is that the recipient must not cache the response with the code which is not recognized.As the first digit defines the class the later two digits of a status code does not have any significant role in the identification or classification.There are mainly five possible values for the first digit: o 1xx (Informational): It suggests that the request was received and the process can continue further. o 2xx (Successful): It suggests that request was successfully received, understood, and accepted o 3xx (Redirection): It suggests that further action needs to be taken in order to complete the request o 4xx (Client Error): It suggests that the request contains bad syntax or the request cannot be fulfilledo 5xx (Server Error): It suggests that the server was unable to fulfil the valid request. Overview of Status CodesCertain responses with status codes are cacheable by default and can be used by practical expiration. They are 200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501 .Following is the list of status codes.Although, this list does not contain every code that are defined in other specification. | 100 | Continue | 101 | Switching Protocols | 200 | OK | 201 | Created | 202 | Accepted | 203 | Non-Authoritative Information | 300 | Multiple Choices | 301 | Moved Permanently | 302 | Found | 303 | See Other | 304 | Not Modified | 400 | Bad Request | 401 | Unauthorized | 402 | Payment Required | 403 | Forbidden | 404 | Not Found | 405 | Method Not Allowed | 410 | Gone | 411 | Length Required | 412 | Precondition Failed | 413 | Payload Too Large | 414 | URI Too Long | 415 | Unsupported Media Type | 426 | Upgrade Required | 500 | Internal Server Error | 501 | Not Implemented | 502 | Bad Gateway | 503 | Service Unavailable | 504 | Gateway Timeout | 505 | HTTP Version Not Supported 1.Informational 1xxThe Informational class of status code states a meantime response for communicating connection status or request progress before completing the requested action and sending a final response. 1xx responses are terminated by the first empty line after the status-line. Client must be able to scan multiple responses of type 1xx even if it is expected. User will reject 1xx which were not expected.100 (Continue)This status code indicates that the initial part of the request is received and has not been rejected by the server. The server response will be updated when the request is fully recieved and serviced.101(Switching Protocols) This status code indicated that the server understood and is willing to comply the request via the upgrade header field,for a change in the application protocol being used on this connection. Header field must be upgraded by the server in response that indicates which protocols will be switched after the empty line that terminates the response 101. The server only switches the protocols when it is beneficial.Successful 2xxThe 2xx (Successful) class of status code indicates that the client’s request was successfully received, understood, and accepted.200 OKThis status code indicates that the request has succeeded and the amount of data to be sent depends on the type of method that is used while requesting. Here, the following requirements usually have to be met:The server must accept the client’s request, andthe requested resource must exist on the server.In addition, the server must be in a position to send the resource to the client.201 CreatedThis status code indicated that the primary request has been fulfilled and the due to which one or more new resources have been created. The link to these resources is to be identified by the location header field or by the request URL.202 AcceptedThis status code indicates that the request has been accepted but the processing has not been completed yet. There are chances that the request may not be acted upon as it might be possible that it might be not allowed while processing. The main purpose of this non committal response is that it allows servers to accept requests for other processes without the user’s agent connection persist until it is fulfilled.Redirection 3xxThis class of status code indicated that further actions is needed to be taken by the user’s agent to fulfill the request.There are different types of redirections:-Redirects that indicate that the data might be available on different URLs.Redirection that offers a choice of matching resources.Redirection to a different resource.Redirection to a previous resource which is already cached.300 Multiple choicesThis status response code indicates that the request has multiple possible responses. The user-agent or the user should choose one of them. As there is no standardized way of choosing one of the responses, this response code is very rarely used.If the server has a preferred choice, the server must generate a Location header field containing a preferred choice’s URI reference.301 Moved permanently This status code suggests that target data had been moved from the previous location to a new one.Further, any reference to this resource must lead to a new URI where the data is shifted.The server should generate a Location header field in the response containing a preferred URI reference for the new permanent URI.302 FoundThis code indicates that the target resource has temporarily assigned a new URI and since this redirection is to happen only during several occasions the client still have to use the prior URI to get the required resource. Client Error 4xx4xx codes generally are error responses specifying an issue at the client’s end. Potentially a network issue. Can be used as a response to any request methodOrigin server should include an explanation and the explanation which should be displayed by User-Agent, with the exception of a HEAD request400 Bad requestThis error code indicates that the server cannot service a client request due to error generated in request from the client side.These are mostly malformed request syntax, invalid request message framing, or deceptive request routing.403 ForbiddenThis status code means that accessing the page or resource you were trying to reach is absolutely forbidden for some reason.Different web servers report 403 errors in different ways404 Not FoundThis status code indicates that the resource the client has requested has no correct representation for the server or the server does not want to disclose the information.Server Error 5xxThe 5xx(Server Error) class of status codes suggests that the server is aware of the error that has occured but it is unable to perform any action to service the request.500 Internal Server ErrorThis status codes indicates that the server is encountered to an unexpected error or condition that has thwarted the servicing of the request.501 Not Implemented This status code suggests that the server does not have enough functionalities to service the particular request made by the client. This generally happen when the server is unable to identify the correct request method.502 Bad GatewayThis status code indicates that the server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.