Table B-2 is a quick reference for all the status codes defined in the HTTP/1.1 specification, providing a brief summary of each. Section 3.4 goes into more detailed descriptions of these status codes and their uses.
Table B-2. Status codes | ||
Status code | Reason phrase | Meaning |
100 | Continue | An initial part of the request was received, and the client should continue. |
101 | Switching Protocols | The server is changing protocols, as specified by the client, to one listed in the Upgrade header. |
200 | OK | The request is okay. |
201 | Created | The resource was created (for requests that create server objects). |
202 | Accepted | The request was accepted, but the server has not yet performed any action with it. |
203 | Non-Authoritative Information | The transaction was okay, except the information contained in the entity headers was not from the origin server, but from a copy of the resource. |
204 | No Content | The response message contains headers and a status line, but no entity body. |
205 | Reset Content | Another code primarily for browsers; basically means that the browser should clear any HTML form elements on the current page. |
206 | Partial Content | A partial request was successful. |
300 | Multiple Choices | A client has requested a URL that actually refers to multiple resources. This code is returned along with a list of options; the user can then select which one he wants. |
301 | Moved Permanently | The requested URL has been moved. The response should contain a Location URL indicating where the resource now resides. |
302 | Found | Like the 301 status code, but the move is temporary. The client should use the URL given in the Location header to locate the resource temporarily. |
303 | See Other | Tells the client that the resource should be fetched using a different URL. This new URL is in the Location header of the response message. |
304 | Not Modified | Clients can make their requests conditional by the request headers they include. This code indicates that the resource has not changed. |
305 | Use Proxy | The resource must be accessed through a proxy, the location of the proxy is given in the Location header. |
306 | (Unused) | This status code currently is not used. |
307 | Temporary Redirect | Like the 301 status code; however, the client should use the URL given in the Location header to locate the resource temporarily. |
400 | Bad Request | Tells the client that it sent a malformed request. |
401 | Unauthorized | Returned along with appropriate headers that ask the client to authenticate itself before it can gain access to the resource. |
402 | Payment Required | Currently this status code is not used, but it has been set aside for future use. |
403 | Forbidden | The request was refused by the server. |
404 | Not Found | The server cannot find the requested URL. |
405 | Method Not Allowed | A request was made with a method that is not supported for the requested URL. The Allow header should be included in the response to tell the client what methods are allowed on the requested resource. |
406 | Not Acceptable | Clients can specify parameters about what types of entities they are willing to accept. This code is used when the server has no resource matching the URL that is acceptable for the client. |
407 | Proxy Authentication Required | Like the 401 status code, but used for proxy servers that require authentication for a resource. |
408 | Request Timeout | If a client takes too long to complete its request, a server can send back this status code and close down the connection. |
409 | Conflict | The request is causing some conflict on a resource. |
410 | Gone | Like the 404 status code, except that the server once held the resource. |
411 | Length Required | Servers use this code when they require a Content-Length header in the request message. The server will not accept requests for the resource without the Content-Length header. |
412 | Precondition Failed | If a client makes a conditional request and one of the conditions fails, this response code is returned. |
413 | Request Entity Too Large | The client sent an entity body that is larger than the server can or wants to process. |
414 | Request URI Too Long | The client sent a request with a request URL that is larger than what the server can or wants to process. |
415 | Unsupported Media Type | The client sent an entity of a content type that the server does not understand or support. |
416 | Requested Range Not Satisfiable | The request message requested a range of a given resource, and that range either was invalid or could not be met. |
417 | Expectation Failed | The request contained an expectation in the Expect request header that could not be satisfied by the server. |
500 | Internal Server Error | The server encountered an error that prevented it from servicing the request. |
501 | Not Implemented | The client made a request that is beyond the server's capabilities. |
502 | Bad Gateway | A server acting as a proxy or gateway encountered a bogus response from the next link in the request response chain. |
503 | Service Unavailable | The server cannot currently service the request but will be able to in the future. |
504 | Gateway Timeout | Similar to the 408 status code, except that the response is coming from a gateway or proxy that has timed out waiting for a response to its request from another server. |
505 | HTTP Version Not Supported | The server received a request in a version of the protocol that it can't or won't support. |