When visiting Web sites, the client application makes connections to Web servers via a network protocol called HTTP
. These network connections support sending response data from servers back to clients including the content of Web pages and also some protocol control information.
Types of HTTP Error and Status Codes
Included in the HTTP server response data for each request is a code number indicating the result of the request. These result codes are three-digit numbers divided into categories as follows:
- 100-199 : informational status
- 200-299 : success status
- 300-399 : redirection status
- 400-499 : client errors
- 500-599 : server errors
Only a few of the many possible error and status codes are commonly seen on the Internet or intranets. Codes related to errors are typically shown in the Web page displayed as output of a failed request, while other codes are not displayed to users.
HTTP 200 “OK”
The Web server processed the request successfully and transmitted content back to the browser. Most HTTP requests result in this status.
HTTP Error 404 “Not Found”
The Web server could not find the requested page, file, or other resource. HTTP 404 errors indicate the network connection between client and server was made successfully. This error most commonly occurs when users manually enter an incorrect URI into a browser or the Web server administrator removes a file without redirecting the address to a valid new location. Users must change their URL to fix this problem.
HTTP Error 503 “Service Unavailable”
This code indicates a Web server cannot process the incoming client request. Some Web servers use HTTP 503 to indicate expected failures, due to administrative policies such as exceeding a limit on the number of concurrent users or CPU utilization, from unexpected failures that would normally be reported as HTTP 500 instead.
HTTP 301 “Moved Permanently”
The URI specified by the client has been moved to a different location using a method called HTTP redirect, which allows the client to issue a new request and fetch the resource from the new location. Web browsers automatically follow HTTP 301 redirects without requiring user intervention.
HTTP 302 “Found” or “Moved Temporarily”
This code indicates an HTTP redirect similar to code 301, but HTTP 302 was designed for cases where the resource is moved temporarily rather than permanently. A server administrator should use HTTP 302 only during brief content maintenance periods. Web browsers follow 302 redirects automatically like they do for code 301. HTTP version 1.1 added a new code 307 to indicate temporary redirects.
HTTP 304 Not Modified
f the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server SHOULD respond with this status code. The 304 response MUST NOT contain a message-body, and thus is always terminated by the first empty line after the header fields.
HTTP 400 “Bad Request”
The Web server detected an error in the protocol data received from the client. Normally this indicates a technical glitch involving the client, but the error may also be caused by data corruption on the network itself.
HTTP 100 “Continue”
Added in version 1.1 of the protocol, HTTP 100 was designed to utilize network bandwidth more efficiently by allowing servers an opportunity to confirm their readiness to accept large requests. The Continue protocol allows an HTTP 1.1 client to send a small, specially configured message asking the server to reply with a 100 code, then wait for the response before sending a (typically large) follow-up request. HTTP 1.0 clients and servers do not use this code.
HTTP 204 “No Content”
The server sent a valid reply to a client request that contains header information only (i.e., does not contain any message body). Web clients can use HTTP 204 to process server responses more efficiently, avoiding refreshing pages unnecessarily, for example.