HTTP Status Codes
HTTP status codes are returned by web servers to indicate the status of a request. Codes 200 and 304 are used to tell the browser the page can be viewed. All other codes generate hits and traffic ‘not seen’ by the visitor. For example a return code 301 or 302 will tell the browser to ask another page. The browser will do another hit and should finally receive the page with a return code 200 and 304. All codes that are ‘unseen’ traffic are isolated by AWStats in the HTTP Status report chart, enabled by the directives ShowHTTPErrorsStats. in config file. You can also change value for ‘not error’ hits (set by default to 200 and 304 with the ValidHTTPcodes directive. The following table outlines all status codes defined for the HTTP/1.1 draft specification outlined in IETF rfc 2068.
They are 3-digit codes where the first digit of this code identifies the class of the status code and the remaining 2 digits correspond to the specific condition within the response class. They are classified in 5 categories:
1xx class – Informational
Informational status codes are provisional responses from the web server… they give the client a heads-up on what the server is doing. Informational codes do not indicate an error condition.
The continue status code tells the browser to continue sending a request to the server.
|101||101 Switching Protocols
The server sends this response when the client asks to switch from HTTP/1.0 to HTTP/1.1
|203||203 Non-Authorative Information|
|204||204 No Content|
|205||205 Reset Content|
|206||206 Partial Content
The partial content success code is issued when the server fulfills a partial GET request. This happens when the client is downloading a multi-part document or part of a larger file.
|300||300 Multiple Choices|
|301||301 Moved Permanently|
|302||302 Moved Temporarily|
|303||303 See Other|
|304||304 Not Modified|
|305||305 Use Proxy|
4xx class – Client Error
This status code indicates that the client has sent bad data or a malformed request to the server. Client errors are generally issued by the webserver when a client tries to gain access to a protected area using a bad username and password.
|400||400 Bad Request|
|402||402 Payment Required|
|404||404 Not Found|
|405||400 Method Not Allowed|
|406||400 Not Acceptable|
|407||400 Proxy Authentication Required|
|408||400 Request Timeout|
|411||411 Length Required|
|412||412 Precondition Failed|
|413||413 Request Entity Too Long|
|414||414 Request-URI Too Long|
|415||415 Unsupported Media Type|
5xx class – Server Error
This status code indicates that the client’s request couldn’t be successfully processed due to some internal error in the web server. These error codes may indicate something is seriously wrong with the web server.
|500||500 Internal Server Error
An internal server error has caused the server to abort your request. This is an error condition that may also indicate a misconfiguration with the web server. However, the most common reason for 500 server errors is when you try to execute a script that has syntax errors.
|501||501 Not Implemented
This code is generated by a webserver when the client requests a service that is not implemented on the server. Typically, not implemented codes are returned when a client attempts to POST data to a non-CGI (ie, the form action tag refers to a non-executable file).
|502||502 Bad Gateway
The server, when acting as a proxy, issues this response when it receives a bad response from an upstream or support server.
|503||503 Service Unavailable
The web server is too busy processing current requests to listen to a new client. This error represents a serious problem with the webserver (normally solved with a reboot).
|504||504 Gateway Timeout
Gateway timeouts are normally issued by proxy servers when an upstream or support server doesn’t respond to a request in a timely fashion.
|505||505 HTTP Version Not Supported
The server issues this status code when a client tries to talk using an HTTP protocol that the server doesn’t support or is configured to ignore.