HTTP status codes are a standardized set of numbers a web
server uses to respond to a web browser in a concise manner.
When a user enters a URL in the address field of a web
browser and clicks “Go”, the browser is making a request from a web
server. In response, the web server
sends back a status code and in most cases some text that is in HTML format.
The status code makes it easy to know exactly what happened
at a particular moment on a web server and help website monitoring software
determine how to act.
HTTP status codes are broken up in groups by number:
100-199: Informational
200-299: Success
300-399: Redirection
400-499: Client Error
500-599: Server Error
The 100 HTTP status codes are typically used by proxies to
indicate that the request should continue and are infrequently encountered by
the Internet population as a whole. When
monitoring, HTTP status codes in this group should normally indicate success.
The 200 HTTP status code group indicates the perfectly
fulfilled request 99.99999% of the time.
In the monitoring of a website, HTTP status codes in this group should
normally indicate success unless one is not expecting for example, “HTTP 204:
no info to return” – an odd and rare HTTP status code.
The 300 HTTP status codes always indicate redirection or the
server’s attempt to fulfill a request by sending the client to a different
location or web page with the exception of “300: server couldn't decide what to
return”. HTTP status code 300 should be
handled as a failure, where as all other 300s should be handled as success with
additional internal actions to be taken.
The 400 HTTP status code group indicates an error on the
part of the requester, typically the web browser. Failures from this group include the well
known “404: object not found” which can mean that the web page was moved,
deleted, or the requested URL was mistyped.
Other important 400 HTTP status codes include “401: access denied” which
indicates that the requested URL requires authentication: the client should
provide authentication credentials or the authentication credentials provided
were incorrect.
The 500 HTTP status codes denote an error fulfilling the
request on the web server. “500:
internal server error” is a common error that typically means that an error may
have occurred in the web server software or a web application running within the
web server software. “503: temporarily
overloaded” is considered a severe error which should be addressed immediately
as it can mean that the web server is under malicious attack or a web
application contains an error that is causing total failure to fulfill new
requests.
In conclusion, HTTP status codes provide a quick and easy
way to categorize and identify the state of a web server at any given
moment. By configuring your website
monitoring software to trigger success or failure based on HTTP status codes,
one can have a good handle on the health of a server.
1 Status codes are taken from RFC 2616: http://www.ietf.org/rfc/rfc2616.txt
|