{"id":963,"date":"2012-05-30T23:00:12","date_gmt":"2012-05-31T05:00:12","guid":{"rendered":"http:\/\/sanuja.com\/blog\/?p=963"},"modified":"2012-09-13T09:12:45","modified_gmt":"2012-09-13T15:12:45","slug":"http-status-code-definitions-explained","status":"publish","type":"post","link":"https:\/\/sanuja.com\/blog\/http-status-code-definitions-explained","title":{"rendered":"HTTP Status Code Definitions Explained"},"content":{"rendered":"<p>I ran in to into Error 500 issue about a week ago as soon as I tried to <a href=\"\/blog\/removing-www-from-your-url\/\">edit the .htaccess<\/a> 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<!--more--> w3.org website for information and this is what I will update the definitions with additional information in the next few weeks.<\/p>\n<p><strong>Successful 2xx<\/strong> &#8220;this class of status code indicates that the client&#8217;s request was successfully received, understood, and accepted.&#8221;<\/p>\n<p><strong>200 OK<\/strong> W3.org:The request has succeeded. Generally a \u201c200 OK\u201d message is exactly what you should see for a standard URL (i.e. it is not being redirected, it is status quo)<\/p>\n<p><strong>201 Created<\/strong>W3.org: \u201d The request has been fulfilled and resulted in a new resource being created.\u201d<\/p>\n<p><strong>202 Accepted<\/strong> W3.org:\u201d The request has been accepted for processing, but the processing has not been completed.\u201d 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.<\/p>\n<p><strong>203 Non-Authoritative Information<\/strong> W3.org: \u201d The request has been accepted for processing, but the processing has not been completed.\u201d 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 \u2013 when content for a page is actually coming from another site.<\/p>\n<p><strong>204 No Content<\/strong> W3.org: \u201cThe 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.\u201d<\/p>\n<p><strong>205 Reset Content<\/strong> W3.org: \u201cThe server has fulfilled the request and the user agent SHOULD reset the document view which caused the request to be sent.\u201d<\/li>\n<p><strong>206 Partial Content<\/strong> W3.org: \u201d 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.\u201d There is a lot more information on this status code at the W3 status code resource should you find yourself needing it.<\/p>\n<p><strong>Redirect 3xx<\/strong> W3.org:\u201cThis class of status code indicates that further action needs to be taken by the user agent in order to fulfill the request.\u201d 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.<\/p>\n<p><strong>300 Multiple Choices<\/strong> W3.org:\u201cThe 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.\u201d 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\u2019t know why it is there then you need to dig deeper by requesting more information from your administrator.<\/p>\n<p><strong>301 Moved Permanently<\/strong> W3.org:\u201cThe requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs.\u201d 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).<\/p>\n<p><strong>302 Found<\/strong> W3.org: \u201d 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.\u201d 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).<\/p>\n<p><strong>303 See Other<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>304 Not Modified<\/strong> W3.org: \u201cIf 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.\u201d<\/p>\n<p><strong>305 Use Proxy<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>306 (Unused)<\/strong> W3.org: This code is no longer used and reserved.<\/p>\n<p><strong>307 Temporary Redirect<\/strong> W3.org: \u201d 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.&#8221;<\/p>\n<p><strong>Client Error 4xx<\/strong> W3.org:\u201d The 4xx class of status code is intended for cases in which the client seems to have erred. \u201c 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.<\/p>\n<p><strong>400 Bad Request<\/strong> W3.org:\u201cThe request could not be understood by the server due to malformed syntax.\u201d StepForth: Check the URL you entered and try again because there appears to be an error in how you entered it.<\/p>\n<p><strong>401 Unauthorized<\/strong> W3.org: \u201cThe request requires authentication.\u201d 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.<\/p>\n<p><strong>402 Payment Required<\/strong> W3.org: \u201d This code is reserved for future use.\u201d<\/p>\n<p><strong>403 Forbidden<\/strong> W3.org: \u201d The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated.\u201d The page you try to access is not allowed in HTTP mode.<\/p>\n<p><strong>404 Not Found<\/strong> W3.org:\u201d The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.\u201d 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.<\/p>\n<p><strong>405 Method Not Allowed<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>406 Not Acceptable<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>407 Proxy Authentication Required<\/strong> W3.org: \u201d This code is similar to 401 (Unauthorized), but indicates that the client must first authenticate itself with the proxy.\u201d<\/p>\n<p><strong>408 Request Timeout<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>409 Conflict<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>410 Gone<\/strong> W3.org:\u201d 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.\u201d<\/p>\n<p><strong>411 Length Required<\/strong> W3.org: &#8220;The server refuses to accept the request without a defined Content- Length.\u201d<\/p>\n<p><strong>412 Precondition Failed<\/strong> W3.org: \u201d The precondition given in one or more of the request-header fields evaluated to false when it was tested on the server.\u201d<\/p>\n<p><strong>413 Request Entity Too Large<\/strong> W3.org: \u201d The server is refusing to process a request because the request entity is larger than the server is willing or able to process.\u201d<\/p>\n<p><strong>414 Request-URL Too Long<\/strong> W3.org: \u201d 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 \u201cblack hole\u201d 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.\u201d<\/p>\n<p><strong>415 Unsupported Media Type<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>416 Requested Range Not Satisfiable<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>417 Expectation Failed<\/strong> W3.org: \u2018 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.\u201d<\/p>\n<p><strong>Server Error 5xx<\/strong> W3.org:\u201d Response status codes beginning with the digit \u201c5\u2033 indicate cases in which the server is aware that it has erred or is incapable of performing the request.\u201d<\/p>\n<p><strong>500 Server Error<\/strong> W3.org: \u201d The server encountered an unexpected condition which prevented it from fulfilling the request.\u201d<\/p>\n<p><strong>501 Not Implemented<\/strong> W3.org: \u201d The server does not support the functionality required to fulfill the request.\u201d<\/p>\n<p><strong>502 Bad Gateway<\/strong> W3.org: \u201d 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.\u201d<\/p>\n<p><strong>503 Service Unavailable<\/strong> W3.org: \u201d The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\u201d<\/p>\n<p><strong>504 Gateway Timeout<\/strong> W3.org: \u201d The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server\u2026\u201d<\/p>\n<p><strong>505 HTTP Version Not Supported<\/strong> W3.org: &#8221; The server does not support, or refuses to support, the HTTP protocol version that was used in the request message.\u201d<\/p>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>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 &hellip; <a href=\"https:\/\/sanuja.com\/blog\/http-status-code-definitions-explained\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">HTTP Status Code Definitions Explained<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[18,7],"class_list":["post-963","post","type-post","status-publish","format-standard","hentry","category-computer-science","tag-computing","tag-server"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/posts\/963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/comments?post=963"}],"version-history":[{"count":0,"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/posts\/963\/revisions"}],"wp:attachment":[{"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/media?parent=963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/categories?post=963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sanuja.com\/blog\/wp-json\/wp\/v2\/tags?post=963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}