May 30 2012

Print this Post

HTTP Status Code Definitions Explained

I ran in to into Error 500 issue about a week ago as soon as I tried to edit the .htaccess file on the server. I was blindsided because I had no clue what Error 500 stand for and the hosting service support team was useless because they told me that my name servers are out of order. After 24 hours wait time for DNS propagation, the site was still off line. So I decided to do my own little investigation. What I found was that Error 500 is caused by a programming error I made on the .htaccess file! I went to w3.org website for information and this is what I will update the definitions with additional information in the next few weeks.

Successful 2xx “this class of status code indicates that the client’s request was successfully received, understood, and accepted.”

200 OK W3.org:The request has succeeded. Generally a “200 OK” message is exactly what you should see for a standard URL (i.e. it is not being redirected, it is status quo)

201 CreatedW3.org: ” The request has been fulfilled and resulted in a new resource being created.”

202 Accepted W3.org:” The request has been accepted for processing, but the processing has not been completed.” We have yet to run into this one but according to the W3 the http header should include some concept of when the processing will be completed. If you see this on your website we suggest contacting your administrator to find out why this is showing up.

203 Non-Authoritative Information W3.org: ” The request has been accepted for processing, but the processing has not been completed.” This should only occur if the HTTP header provided is from a 3rd party rather than the main website queried. According to the W3 this status code is presented when the URL is producing 200 OK information but from another site. If you see this look into it because our guess is it could identify a hijacked page – when content for a page is actually coming from another site.

204 No Content W3.org: “The server has fulfilled the request but does not need to return an entity-body, and might want to return updated metainformation.The response MAY include new or updated metainformation in the form of entity-headers, which if present SHOULD be associated with the requested variant.”

205 Reset Content W3.org: “The server has fulfilled the request and the user agent SHOULD reset the document view which caused the request to be sent.”

206 Partial Content W3.org: ” The server has fulfilled the partial GET request for the resource. The request MUST have included a Range header field (section 14.35) indicating the desired range, and MAY have included an If-Range header field (section 14.27) to make the request conditional.” There is a lot more information on this status code at the W3 status code resource should you find yourself needing it.

Redirect 3xx W3.org:“This class of status code indicates that further action needs to be taken by the user agent in order to fulfill the request.” 3xx redirects are at the heart of clean search engine and user redirection. Pay close attention to the redirection code you receive to make sure it is the proper one to suit your purposes.

300 Multiple Choices W3.org:“The requested resource corresponds to any one of a set of representations, each with its own specific location, and agent- driven negotiation information (section 12) is being provided so that the user (or user agent) can select a preferred representation and redirect its request to that location.” Multiple directions/paths are provided by the server. Which path chosen is entirely dependent upon a set of rules provided. We expect that any server using such a command is dealing with a technologically advanced website perhaps with different redirects based on different geographical locations. If you see this and don’t know why it is there then you need to dig deeper by requesting more information from your administrator.

301 Moved Permanently W3.org:“The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs.” If you are moving content from one URL to another permanently then this is the proper redirect to use. If you are temporarily moving traffic to another location then please consult a 302 redirect (below).

302 Found W3.org: ” The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests.” This redirect is best used when content is temporarily located at another URL NOT when a URL has changed permanently (see a 301 for a permanent relocation).

303 See Other W3.org: ” The response to the request can be found under a different URI and SHOULD be retrieved using a GET method on that resource. This method exists primarily to allow the output of a POST-activated script to redirect the user agent to a selected resource. The new URI is not a substitute reference for the originally requested resource.”

304 Not Modified W3.org: “If 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.”

305 Use Proxy W3.org: ” The requested resource MUST be accessed through the proxy given by the Location field. The Location field gives the URI of the proxy. The recipient is expected to repeat this single request via the proxy. 305 responses MUST only be generated by origin servers.”

306 (Unused) W3.org: This code is no longer used and reserved.

307 Temporary Redirect W3.org: ” The requested resource resides temporarily under a different URI. Since the redirection MAY be altered on occasion, the client SHOULD continue to use the Request-URI for future requests.”

Client Error 4xx W3.org:” The 4xx class of status code is intended for cases in which the client seems to have erred. “ If you encounter a 4xx code then you need to get to the bottom of it immediately. First verify the page is on your site and not deleted. If you cannot fix the error yourself (by simply reuploading the page) then onsult your administrator ASAP.

400 Bad Request W3.org:“The request could not be understood by the server due to malformed syntax.” StepForth: Check the URL you entered and try again because there appears to be an error in how you entered it.

401 Unauthorized W3.org: “The request requires authentication.” This is a password protected area or a file. If you are trying to reach so the server and your credentials failed, this error will appear as an authentication error. Files and folders are often protected using web hosting system such as cPanel.

402 Payment Required W3.org: ” This code is reserved for future use.”

403 Forbidden W3.org: ” The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated.” The page you try to access is not allowed in HTTP mode.

404 Not Found W3.org:” The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.” No such URL(page/file/item) appears to exist. If you encounter this error, check if you typed the URL right. If it is right, then either the page has been moved or deleted. Please contact me if you come across this error on my site.

405 Method Not Allowed W3.org: ” The method specified in the Request-Line is not allowed for the resource identified by the Request-URI. The response MUST include an Allow header containing a list of valid methods for the requested resource.”

406 Not Acceptable W3.org: ” The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.”

407 Proxy Authentication Required W3.org: ” This code is similar to 401 (Unauthorized), but indicates that the client must first authenticate itself with the proxy.”

408 Request Timeout W3.org: ” The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.”

409 Conflict W3.org: ” The request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request. The response body SHOULD include enough information for the user to recognize the source of the conflict.”

410 Gone W3.org:” The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval.”

411 Length Required W3.org: “The server refuses to accept the request without a defined Content- Length.”

412 Precondition Failed W3.org: ” The precondition given in one or more of the request-header fields evaluated to false when it was tested on the server.”

413 Request Entity Too Large W3.org: ” The server is refusing to process a request because the request entity is larger than the server is willing or able to process.”

414 Request-URL Too Long W3.org: ” The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information, when the client has descended into a URI “black hole” of redirection (e.g., a redirected URI prefix that points to a suffix of itself), or when the server is under attack by a client attempting to exploit security holes present in some servers using fixed-length buffers for reading or manipulating the Request-URI.”

415 Unsupported Media Type W3.org: ” The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method.”

416 Requested Range Not Satisfiable W3.org: ” A server SHOULD return a response with this status code if a request included a Range request-header field (section 14.35), and none of the range-specifier values in this field overlap the current extent of the selected resource, and the request did not include an If-Range request-header field.”

417 Expectation Failed W3.org: ‘ The expectation given in an Expect request-header field (see section 14.20) could not be met by this server, or, if the server is a proxy, the server has unambiguous evidence that the request could not be met by the next-hop server.”

Server Error 5xx W3.org:” Response status codes beginning with the digit “5″ indicate cases in which the server is aware that it has erred or is incapable of performing the request.”

500 Server Error W3.org: ” The server encountered an unexpected condition which prevented it from fulfilling the request.”

501 Not Implemented W3.org: ” The server does not support the functionality required to fulfill the request.”

502 Bad Gateway W3.org: ” The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request.”

503 Service Unavailable W3.org: ” The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.”

504 Gateway Timeout W3.org: ” The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server…”

505 HTTP Version Not Supported W3.org: ” The server does not support, or refuses to support, the HTTP protocol version that was used in the request message.”

Permanent link to this article: http://sanuja.com/blog/http-status-code-definitions-explained