HTTP response codes
HTTP is the transport protocol behind the World Wide Web – it’s the way that communication is done between your browser and the web site. HTTP comprises of a number of response codes to represent anything from the site being OK or not to the server having problems.
Full response code documentation goes far beyond the scope of this appendix. For full information, please read the following resource:
In short, the codes are broken up in to five sections:
1xx – Provisional response
- 100 – Continue
the requestor should continue with the request. The server returns this code to indicate that it has received the first part of a request and is waiting for the rest. - 101 – Switching Protocols
the requestor has asked the server to switch protocols and the server is acknowledging that it will do so.
2xx – Successful
- 200 – OK
the server successfully processed the request. Generally, this means that the server provided the requested page. - 201 – Created
The request was successful and the server created a new resource. - 202 – Accepted
the server has accepted the request, but hasn't yet processed it. - 203 – Non-Authoritative Information
The server successfully processed the request, but is returning information that may be from another source. - 204 – No Content
The server successfully processed the request, but isn't returning any content. - 205 – Reset Content
The server successfully processed the request, but isn't returning any content. Unlike a 204 response, this response requires that the requestor reset the document view (for instance, clear a form for new input). - 206 – Partial Content
The server successfully processed a partial GET request.
3xx – Redirected
- 300 – Multiple Choices
the server has several actions available based on the request. The server may choose an action based on the requestor (user agent) or the server may present a list so the requestor can choose an action. - 301 – Permanently at another address - consider updating link
the requested page has been permanently moved to a new location. When the server returns this response (as a response to a GET or HEAD request), it automatically forwards the requestor to the new location. - 302 – Found at new location - consider updating link
the server is currently responding to the request with a page from a different location, but the requestor should continue to use the original location for future requests. This code is similar to a 301 in that for a GET or HEAD request, it automatically forwards the requestor to a different location. - 303 – See other
the server returns this code when the requestor should make a separate GET request to a different location to retrieve the response. For all requests other than a HEAD request, the server automatically forwards to the other location. - 304 – Not Modified
the requested page hasn't been modified since the last request was made. When the server returns this response, it doesn't return the contents of the page. - 305 – Use Proxy
The requestor can only access the requested page using a proxy. When the server returns this response, it also indicates the proxy that the requestor should use. - 307 – Temporary Redirect
The server is currently responding to the request with a page from a different location, but the requestor should continue to use the original location for future requests. This code is similar to a 301 in that for a GET or HEAD request, it automatically forwards the requestor to a different location
4xx – Request error
- 400 – Bad Request
the server didn't understand the syntax of the request. - 401 – Authorization required
the request requires authentication. The server might return this response for a page behind a login. - 403 – Forbidden
the server is refusing the request. - 404 – Not Found
The server can't find the requested page. For instance, the server often returns this code if the request is for a page that doesn't exist on the server. - 405 – Method Not Allowed
the method specified in the request is not allowed. - 406 – Not Acceptable
the requested page can't respond with the content characteristics requested. - 407 – Proxy Authentication Required
this status code is similar 401 (Not authorized); but specifies that the requestor has to authenticate using a proxy. When the server returns this response, it also indicates the proxy that the requestor should use. - 408 – Request Timeout
the server timed out waiting for the request. - 409 – Conflict
The server encountered a conflict fulfilling the request. The server must include information about the conflict in the response. The server might return this code in response to a PUT request that conflict with an earlier request, along with a list of differences between the requests. - 410 – Gone
the server returns this response when the requested resource has been permanently removed. It is similar to a 404 (Not found) code, but is sometimes used in the place of a 404 for resources that used to exist but no longer do. If the resource has permanently moved, you should use a 301 to specify the resource's new location. - 411 – Length Required
the server won't accept the request without a valid Content-Length header field. - 412 – Precondition Failed
the server doesn't meet one of the preconditions that the requestor put on the request. - 413 – Request Entity Too Large
the server can't process the request because it is too large for the server to handle. - 414 – Request-URI Too Long
the requested URI (typically, a URL) is too long for the server to process. - 415 – Unsupported Media Type
The request is in a format not support by the requested page. - 416 – Requested Range Not Satisfiable
the server returns this status code if the request is for a range not available for the page. - 417 – Expectation Failed
the server can't meet the requirements of the Expect request-header field.
5xx – Server error
- 500 – Internal Server Error
the server encountered an error and can't fulfil the request. - 501 – Not Implemented
the server doesn't have the functionality to fulfil the request. For instance, the server might return this code when it doesn't recognize the request method. - 502 – Bad Gateway
the server was acting as a gateway or proxy and received an invalid response from the upstream server. - 503 – Service Unavailable
the server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state. - 504 – Gateway Timeout
the server was acting as a gateway or proxy and didn't receive a timely request from the upstream server. - 505 – HTTP Version Not Supported
the server doesn't support the HTTP protocol version used in the request. - 509 – Bandwidth Limit Exceeded
the server has exceeded the allocated amount of bandwidth at its disposable.