Connection Persistent Connections: Persistent Connection is called Http keep alive and http connection reuse. under http 1.0, conection not cosidered as Connection Persistent Connections. so for Persistent Connections client side keep alive heade added and also at server side when respone is created keep alive header added. http 1.1 defaults to the use of persistent connections allowing multiple requests and responses to be carried over a single connection. Keepalive is difficult for the client to determine where one response ends and the next response begins during pipelined HTTP operation. This is a problem when Content Length cannot be used due to streaming. To solve this problem HTTP 1.1 have a chunked transfer coding that defines a last-chunk bit.advantages:HTTP requests and responses can be pipelined on a connection. Pipelining allows clients to make multiplerequests without waiting for response allowing a single connection to be used much moreefficiently, with lower elapsed time. HTTP Error CodesThe status code of HTTP is one type of integer code. Which is three-digit code, indicates the result code of request. From the first digit of status code we can identify the class of response from. For example, if a status code 200 found on client machine, then it means that this status code is from the 2xx class which indicates the client request was successfully received, understood and accepted.Different classes of status code are listed below:1)1xx: Information This response indicates that the request has been received and process is under progress. 1)100 continue:The status code 100(Continue) indicates that the initial part of the request has not yet been rejected from the server and the server will send the final response to the client after the request has been fully received. The client sending the remainder of the request which sent allready. If without response the request has already been completed ignore the response. The server must send final response after the request has been completed. 2)101 SWITCHING PROTOCOLS:he status code 101(Switching Protocol) indicates that the client has request to the server to switch the protocols and the server machine has accepted to do that. The server adds in this response an Upgrade response header to indicate the protocol it switched.2) 2xx Successful: 2xx class of status code results that the action is received and it is also understood and accepted. 1)200 Ok:The status code 200(Ok) indicates that the action has succeeded and the payload has been sent in 200 response which is depends on request method like GET,POST etc. 2)201 Created:The status code 201(Created) indicates that the request is fulfilled and fully accepted, and new resource will be created. 3)202 Accepted: The status code 202(Accepted) indicates that the action is completely accepted for processing from server side but the processing is not yet completed. Other proccess is handles by serever. 4)203 Not Authoritative Information:The status code 203(Not Authoritative Information) indicates that the entity header information is third-party copy or from local server, not from the original server. 5)204 No Content:The status code 204(No Content) and a header are given in the response, but there is no indication body in the response. An ETag header is included in such a response. 6)205 Reset Content:The status code 205(Reset Content) indicates that the used form for this transaction for additional input in the browser for example to clear the content of a form, reset a canvas state, or to refresh the UI.. 7)206 Partial Content:The status code 206(Partial Content) indicates that the server is returning the partial data of the size requested from client.3)3xx Redirection: In this class the remaining action must be taken for completing the request. 1)300 Multiple Choices: The status code 300(Multiple Choices) will display the link list and from them the client can select a link and go to the expected location or destination. Maximum five addresses could display. 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. 2)301 Moved Permanently: The status code 301(Moved Permanently) indicates that the requested page has moved to the new URL in browser. 3)302 Found: The status code 302(Found) indicates that the requested page has moved temporarily to the new URL in browser. 4)303 See Other:The status code 303(See Other) indicates that the requested page will be displayed under the different URL in browser. 5)304 Not Modified:The status code 304(Not Modified) indicates that the URL has not modified since the last specific date. 6)305 Use Proxy:The status code 305(Use Proxy) indicates that the requested URL is accessed from a proxy server in the location header. 7)306 Unused:This code is used in previous version. It is no longer used but it is still reserved code. 8)307 Temporary Redirect:The status code 307(Temporary Redirect) indicates that the requested page has moved temporarily to the new URL in browser.4)4xx Client Error: This class will give all the client error where the client request is not appropriate or cannot be fulfilled. 1)400 Bad Request:The status code 400(Bas Request) indicate that the server did not understand the requested action from client. 2)401 Unauthorised:The status code 401(Unauthorised) indicates that the requested page is credential protected and it needs a username and password. 3)402 Payment Required:The status code 402(Payment Required) indicates that the requested page needs the payment first and then it will be displayed. 4)403 Forbidden:The status code 403(Forbidden) indicates that the access of the page is forbidden. 5)404 Not Found:The status code 404(Not Found) indicates that server cannot found the requested page. 6)405 Method Not Allowed:The status code 405(Method Not Allowed) indicates that the method specified in the request is not allowed. 7)406 Not Acceptable:The status code 406(Not Acceptable) indicates that the server can only generate a response that is not accepted by the client. 8)407 Proxy Authentication Required:The status code 407(Proxy Authentication Required) indicates that you must authenticate with a proxy server before this request can be served. 9)408 Request Timeout:The status code 408(Requested Timeout) indicate that the request took longer than the server was prepared to wait. 10)409 Conflict:The status code 409(Conflict) indicates that the request could not be completed because of a conflict. 11)410 Gone:This status code indicates the requested page is no longer available. 12)411 Length Required:This status code indicates that the “Content-Length” is not defined. The server will not accept the request without it. 13)412 Precondition Failed:This status code indicates that pre-condition given in the request evaluated to false by the server. 14)413 Request Entity Too Large:This status code indicates that the server will not accept the request, because the request entity is too large. 15)414 Request-URL Too Long:This status code indicates that the server will not accept the request, because the URL is too long. Occurs when you convert a “post” request to a “get” request with a long query information. 16)415 Unsupported Media Type:This status code indicates that the server will not accept the request, because the media type is not supported. 17)416 Requested Range Not Satisfiable: This status code indicates that the requested byte range is not available and is out of bounds. 18)417 Expectation Failed:His status code indicates that the expectation given in an Expect request header field could not be met by this server.5)5xx: Server Error It means the server failed to fulfil an apparently valid request. 1)500 Internal Server Error:This status code indicates that the request was not completed. The server met an unexpected condition.