Understanding Server Headers :: HTTP Status Code Definitions
The following definitions are either interpreted or copied from the W3 Consortium’s Status Code Definitions page. In addition, we have added our own notes to certain status codes that are more likely to be found – we thought this might help you determine your next action depending on the code. If you are familiar with Status Codes and wish to provide feedback on our interpretation of codes please email us.
- Successful 2xx
W3.org: “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.StepForth: 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 Created
W3.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.”StepForth: 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.”StepForth: 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.”StepForth: 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.”StepForth: 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.”StepForth: 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.”StepForth: 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.”StepForth: 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. “StepForth: 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.”StepForth: This is a private area you are trying to reach so the server is challenging your attempt by requiring authentication.
- 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.”StepForth: You are not where you should be… do not try to access this page.
- 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.”StepForth: No such URL appears to exist. If you encounter this error and you know the page did or should exist then check your URL to make sure it is properly typed and/or check to see the page actually exists on your website.
- 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 AcceptableW3.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.”StepForth: We have not encountered this code before but if you do encounter it on your own site or another then it is likely the implementation of this code was a purposeful method of removing the URL or content from linking resources such as search engines or websites.
- 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.”StepForth: 5xx codes generally mean your server is having problems. Contact your hosting company or site administrator immediately to diagnose the situation.
- 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.”