HTTP Codes - Meaning of status codes
HTTP status codes are returned by a server to a client that establishes or attempts to establish a connection. When a problem occurs, this code is accompanied by information on the causes of the problem.
The table below gives the meaning of all HTTP codes and their involvement.
The WebDav extension sometimes mentioned is a HTTP protocol added to help managing files remotely and exchanging files between the client and the server. It is defined by the IETF.
Request in progress |
|
100 | Continue. Request initiated and not rejected. The client can continue. |
101 | Switching Protocols. The server reports having received a request to change protocol and it is accepted. |
102 | In processing. Makes clear that the server is active and not inaccessible.(WebDav Extension). |
Request processed |
|
200 | Request completed successfully.The page is found and displayed. |
201 | Created.Establishing a link between the client and the server in the form of URI on a newly created resource. |
202 | Accepted.The request is received and accepted but not yet processed.. |
203 | Non-Authoritative information.The server response provides information that does not certify it. It could come from a third-party source. |
204 | No content.No information to return from the server. |
205 | Reset content. Request processed, the client must reset the source of the request.In the case of a form, it must be cleared before another request. |
206 | Partial content.Only part of the content is returned.(This may be due to limitation of resources). A Range header must have been included by the user. |
207 | Multiple statements for the answer.(WebDav Extension). |
210 | Different contents between the server and the client.(WebDav Extension). |
Redirections |
|
300 | Multiple choice.The server has different answers, so it must return a list of resources with their location. |
301 | Moved permanently.To be used when a file is renamed or moved, and a new URL must be provided.The old URL will be ignored by robots. |
302 | Moved temporarily. A new URL is provided but robots return to the original URL. |
303 | See other location.This code is returned when the resource can be retrieved atto another address and a GET method must be used to obtain it. The client is redirected if the method is GET. |
304 | Unmodified.The page has not changed since the last request, and no content is returned.This assumes that the server is configured to provide a If-modified-since header. Essential for robots of search engines. |
305 | Use a proxy.Response from the server asking to recover the document on a proxy server whose address is provided. |
307 | Temporary redirect.The request is redirected to another address as 302. |
Client error or access denied |
|
400 | Bad request.The server does not recognize the command syntax. |
401 | Unauthorized.Authentication required. Connections refused unless a valid password is furnished. |
402 | Payment required. Future use. |
403 | Forbidden.Access is prohibited or it is prohibited to a specified robot (for the server and not by robots.txt). |
404 | Not found.The page does not exist.This may be due to an incorrect spelling, different cases on Unix, or a change of address. |
405 | Method of request not allowed. |
406 | Not acceptable.The server can not provide the type of document requested. |
407 | Proxy authentication required.The connection is refused because the client needs to connect only through a proxy server that is indicated in the response. |
408 | Timeout. Expiration of time allocated to a request. |
409 | Conflict.The request contains a request that conflicts with the state of the resource. The information on the causes are provided with the error code. Occurs with the PUT method. |
410 | Gone.As 404 but means that the page not found was there before. Google recommends its use rather than 404 when the page is missing forever. |
411 | Length required.The server does not accept the request if the Content-Length is not specified. |
412 | Precondition not met.The request is accompanied by conditions that the server can not fulfill. |
413 | Volume asked too high.The server can not provide a document of this size. |
414 | Request-URI too long.The size of the URI sent to the server exceeds the number of characters allowed. Occurs whan a POST is converted to GET. |
415 | Unsupported media type.The client requests a document type that the server does not support. |
416 | Requested range not satisfiable. The request specifies the Range (ex 200-10000) and the size of the resource is not included in this range. |
417 | Expectation failed .The request contains a field Expect and the server can not meet it.The definition of this field is vague. |
422 | The request contains an entity that the server can not handle.(WebDav Extension). |
423 | Locked.The page is locked and will not be transmitted.(WebDav Extension). |
424 | Failure of the method used by the request.(WebDav Extension). |
451 | The site is blocked for legal reasons. The provider then returns this code, added in 2015. (The code is a reference to the novel Fahrenheit 451). |
Server errors |
|
500 | Internal Server Error.The request is not processed. |
501 | Not implemented.The server does not recognize the nature of the request, the method used, for example. |
502 | Bad gateway.When the server acts as a proxy or intermediary and that the other server not responding. |
503 | Service unavailable.Temporary problem due to overloading or other server problem including maintenance. |
504 | Gateway timeout. Waiting time from the other server exceeded, when the server asked plays the role of gateway. |
505 | HTTP Version not supported.The protocol used is too recent or not handled. |
507 | Space on the server insufficient to accomplish the client's request.(WebDav Extension). |
509 | Non-standard code but may be used by servers when exceeding quota. |
References and tools
- Standard specification by W3C.
- Command line link checker. This script check links on a website and displays the HTTP status code returned by the server for each one.