HTTP Status Codes

Wednesday, February 22, 2012

When a client (browser) requests a page from a web server, various status codes are included in the messages that are sent back and forth. These messages can be used to help troubleshoot issues preventing web pages from properly being delivered to the browser. Some browsers are configured by default to not show these messages, but rather show a friendly form of the status code. Generally, you can disable the friendly messages in the advanced configuration of the browser. Here is a list of status codes that may be exchanged.

1xx Information

Status CodeDescription
100 ContinueThis interim response is used to inform the client that the initial part of the request has been received
101 Switching ProtocolsThe requester has asked the server to switch protocols

2xx: Successful

Status CodeDescription
200 OKThe request has succeeded
201 CreatedThe request has been fulfilled and resulted in a new resource being created
202 AcceptedThe request has been accepted for processing, but the processing has not been completed
203 Non-Authoritative InformationThe request has been fulfilled, but is returning information that may be from another source
204 No ContentThe request has been successfully fulfilled, but is not returning any content
205 Reset ContentThe request has been successfully fulfilled, but is not returning any content
206 Partial ContentThe server is delivering only part of the resource due to a range header sent by the client

3xx: Redirection

Status CodeDescription
300 Multiple ChoicesThe user can select a link and go to that location. Max of five addresses
301 Moved PermanentlyThe requested page has moved to a new URI 
302 FoundThe requested page has moved temporarily to a new URI
303 See OtherThe requested page can be found under a different URI
304 Not ModifiedIndicates the requested page has not been modified since last requested
305 Use ProxyThe requested resource must be accessed through the proxy given by the Location field
307 Temporary RedirectThe requested page has moved temporarily to a new URI
308 Resume IncompleteUsed in the resumable requests proposal to resume aborted PUT or POST requests

4xx: Client Error

Status CodeDescription
400 Bad RequestThe request cannot be fulfilled due to malformed syntax
401 UnauthorizedThe request requires user authentication
402 Payment RequiredReserved for future use
403 ForbiddenThe server understood the request, but is refusing to fulfill it
404 Not FoundThe server has not found anything matching the Request-URI
405 Method Not AllowedThe method specified in the Request-Line is not allowed for the resource
406 Not AcceptableThe server can only generate a response that is not accepted by the client
407 Proxy Authentication RequiredThe client must first authenticate itself with the proxy
408 Request TimeoutThe server timed out waiting for the request
409 ConflictThe request could not be completed because of a conflict in the request
410 GoneThe requested page is no longer available and no forwarding address is known
411 Length RequiredThe server refuses to accept the request without a defined Content-Length
412 Precondition FailedThe precondition given in the request evaluated to false by the server
413 Request Entity Too LargeThe server will not accept the request, because the request entity is too large
414 Request-URI Too LongThe server will not accept the request, because the URI is too long
415 Unsupported Media TypeThe server will not accept the request, because the media type is not supported 
416 Requested Range Not SatisfiableThe client has asked for a portion of the file, but the server cannot supply that portion
417 Expectation FailedThe server cannot meet the requirements of the Expect request-header field

5xx: Server Error

Status CodeDescription
500 Internal Server ErrorThe server encountered an unexpected condition which prevented it from fulfilling the request
501 Not ImplementedThe server does not support the functionality required to fulfill the request
502 Bad GatewayThe server was acting as a proxy and received an invalid response from the upstream server
503 Service UnavailableThe server is currently unable to handle the request due to a temporary overloading or maintenance
504 Gateway TimeoutThe server was acting as a proxy or and did not receive a timely response from the upstream server
505 HTTP Version Not SupportedThe server does not support the HTTP protocol version that was used in the request message

Did you find the page informational and useful? Share it using one of your favorite social sites.

Recommended Books & Training Resources

Creating Web Pages Simplified HTML CSS and JavaScript Editor HTML CSS: The Complete Reference