Every piece of data, that is displayed by your web browser, is relayed to it by a web server. This data transfer is facilitated through the application of various protocols that operate in a client-server architectural framework. On the world wide web, HTTP (Hypertext Transfer Protocol) and TCP/IP (Transmission Control Protocol / Internet Protocol) are the most important protocols which operate to facilitate communication between web servers and client computers. Every transaction happening on the Internet is a conversation between server and client.
A client makes a request and a server responds according to the nature and particulars of the request. In case the server is impeded in any way to process a client's request or client errs in making an appropriate request, various types of HTTP errors are displayed on the web browser. They communicate what went wrong in the data transaction. In this Techspirited article, I have presented a list of HTTP server and client errors, which is essential knowledge for any budding webmaster, web developer or network administrator.
When you type in a web address in your browser and hit the enter button, domain name servers translate the name and into a URL (Uniform Resource Locator, which is the address of the web server hosting the pages). Then your web browser (acting as the client or user agent) sends a request to the web server for specific data. The server will respond according to the nature of the request and serve required data. In case there is a problem with the request, an HTTP error will be displayed in the browser.
Through a coded language of numbers, known as 'HTTP Response Status Codes', the server can communicate the nature of a problem or condition of the request being processed with a client. Some of these codes are provided by IETF (Internet Engineering Task Force) Internet standards and some are provided by RFCs (Request for Comments) which are yet to be validated standards. There are five different types of responses that a server may provide and they are classified by different prefix numbers ranging from 1 to 5. Among these three digit codes, 4xx and 5xx responses are error codes, that have been listed and described in the following lines. Like DNS errors they are displayed in a browser, as soon as there is a problem in displaying data.
Types of HTTP Client Errors
Every error message includes an error code and a 'reason phrase' shortly describing the nature of the error. When something is found amiss in a client's request made to the server, following are the standard HTTP 4xx errors displayed in a browser. All these codes, including the HTTP server error response codes described in the next section, are a part of the HHTP/1.1 standard.
|HTTP Error Code||Reason Phrase||Description|
|400||Bad Request||This error code indicates that the request cannot be processed because of wrong syntax usage by the client.|
|401||Unauthorized||This error code indicates that the client is not authorized to receive the requested data, without authentication. A login name and password based authentication might be required to access the requested data.|
|403||Forbidden||There is no way you can access the requested data. A 403 error announces that the data is off limits.|
|404||Not Found||This error indicates that the resources requested by the client are currently unavailable.|
|405||Method Not Allowed||This error indicates wrong usage of request method. Depending on the kind of data requested, the appropriate request method must be chosen.|
|406||Not Acceptable||When the data provided by a web server does not match the specifications made in 'Accept' header of the client HTTP request, this error is the result.|
|407||Proxy Authentication Required||This error clearly indicates that an authentication from the proxy server is required to gain access to requested resources.|
|408||Request Timeout||This type of error indicates that the client was delayed in making a request, within the specified time allocated to it, by the server.|
|409||Conflict||This error code is displayed when the server perceives a conflict between two requests made simultaneously by different clients, for the same resource.|
|410||Gone||This error code indicates that the requested data is no longer hosted on the server and therefore further requests made for it, would be futile.|
|411||Length Required||If the request made by the client does not include information about the length of the requested data or resource, this error code is displayed.|
|412||Precondition Failed||Some requests made by clients come attached with conditions that need to be satisfied by the server, before data transaction may happen. If these conditions are not met, error 412 results.|
|413||Request Entity Too Large||When a client makes a request which is too overwhelming for the server's resources to handle, it presents this error code.|
|414||Requested URI Too Long||A Uniform Resource Identifier (URI) is a character string used to describe a data stream or resource on a server. Error 414 occurs when the server is unable to process the URI, because of limited resources and long string length.|
|415||Unsupported Media Type||A server may be designed to allow only certain formats for media files. When error 415 is displayed, it indicates that the format of file being uploaded through a client request, does not match the requisite format.|
|416||Request Range Not Satisfiable||Sometimes, a client may request for only a small part of a file, instead of asking for the entire file. If this request is not specified properly and the part of the file requested does not exist, this error is displayed.|
|417||Expectation Failed||This error code is displayed when the server cannot meet the specifications provided in the request.|
|422||Unprocessable Entity||This error is displayed when the request made, cannot be processed due to an error in semantic structure.|
|423||Locked||This error is displayed when a requested piece of data or resource has been locked, making it inaccessible for a server.|
|424||Failed Dependency||A server may process a succession of requests from a client with the fulfillment of each, dependent on the one made before. This error is displayed when a request made before is not fulfilled, due to which the current request cannot be processed.|
|426||Upgrade Required||This error signifies that the client may need to switch over to a secure protocol like TLS to get the request processed.|
|444||No Response||This error signifies that the server has simply rejected the client request and terminated connection.|
|449||Retry With||This is a request made by the server to the client, to make the request again after executing certain actions or making specific changes in request. This is an error code introduced by Microsoft.|
|499||Client Closed Request||When client terminates a connection made with the server, while its processing the associated request, this error code is displayed.|
|450||Blocked By Windows Parental Controls||Another error code introduced by Microsoft, this one is displayed when a URL is blocked by parental control settings on the web browsers.|
Types of HTTP Server Errors
Errors on the server side are reported with 5xx codes. Here are the most important errors that report problems on the server side.
|HTTP Error Code||Reason Phrase||Description|
|500||Internal Server Error||A generic message displayed by the server, when the problem with the request cannot be specified by any other appropriate code.|
|501||Not Implemented||This error indicates the inability of the server to process a request, as it hasn't been configured to respond to the request method used.|
|502||Bad Gateway||Sometimes, hosted pages on web servers are transmitted to client via proxy servers. If the proxy server (to which a client has sent a request), fails connecting with the web server (known as the upstream server), error 502 results.|
|503||Service Unavailable||When the server is already overloaded with multiple requests, it will temporarily stop entertaining new requests, by displaying a 503 error code.|
|504||Gateway Timeout||When the request made by a proxy server to the web server hosting a resource times out, error 504 is reported.|
|505||HTTP Version Not Supported||An error code seen rarely, it is displayed when the web server does not support the protocol version of the client request.|
These are the most commonly displayed types of HTTP errors which you might encounter while browsing for data on the Internet. Standardized error codes make it easy for the users on the client side to comprehend what went wrong in handling a data request. By identifying and interpreting the error code, one can find a way to rectify the error. Hope this HTTP error response code reference is useful to wayfarers on the web.