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.

100 100 Continue
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

2xx class – Successful
This class of status code indicates that the client’s request was received, understood, and successful.

200 200 Successful
201 201 Created
202 202 Accepted
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.

3xx class – Redirection
This code tells the client that the browser should be redirected to another URL in order to complete the request. This is not an error condition.

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
401 401 Unauthorized
402 402 Payment Required
403 403 Forbidden
404 404 Not Found
405 400 Method Not Allowed
406 400 Not Acceptable
407 400 Proxy Authentication Required
408 400 Request Timeout
409 409 Conflict
410 410 Gone
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.