HTTP Status Code Definitions
Select (click) a Status Code from the tables below to see
an explanation of the error:
Informational 1xx
Status codes in the 100 range inform the client (browser’s
computer) that the HTTP request is continuing.
Definition:
This class of status code indicates a provisional response,
consisting only of the Status-Line and optional headers, and
is terminated by an empty line. There are no required headers
for this class of status code.
The server has received the beginning of the request and the
client should continue.
Definition:
The client should continue with its request. This interim
response is used to inform the client that the initial part
of the request has been received and has not yet been rejected
by the server.
Your computer has sent a request to a server to use a different
connection protocol (ex., a newer HTTP protocol). The server
has acknowledged that this is OK.
Definition:
The server understands and is willing to comply with the client’s
request, via the Upgrade message header field), for a change
in the application protocol being used on this connection.
The server will switch protocols to those defined by the response’s
Upgrade header field immediately after the empty line which
terminates the 101 response.
Successful 2xx
Status codes in the 200 series indicate that the URL request
was partially or completely successful.
Definition:
This class of status code indicates that the client’s request
was successfully received, understood, and accepted.
The request by your browser succeeded.
Definition:
The request has succeeded. The information returned with the
response is dependent on the method used in the request.
The request successfully resulted in the creation of an additional
resource and the text line should indicate the URL by which
it should be known.
Definition:
The request has been fulfilled and resulted in a new resource
being created. The newly created resource can be referenced
by the URL(s) returned in the entity of the response, with
the most specific URL for the resource given by a Location
header field. The response SHOULD include an entity containing a list of
resource characteristics and location(s) from which the user
or user agent can choose the one most appropriate.
The 202 response is to allow a server to accept a request
for some other process without requiring that the connection
to the server persist until the process is completed.
Definition:
The request has been accepted for processing, but the processing
has not been completed. The request might or might not eventually
be acted upon, as it might be disallowed when processing actually
takes place. There is no facility for re-sending a status code
from an asynchronous operation such as this.
Basically a 200 response, but where returned data may be from
another server than the one originally contacted.
Definition:
The returned meta information in the entity-header is not
the definitive set as available from the origin server, but
is gathered from a local or a third-party copy.
Although the request was successful, there is no content to
return. This is usually to permit additional input without
a change to the user’s view.
Definition:
The server has fulfilled the request but does not need to
return an entity-body, and might want to return updated meta
information. The response MAY include new or updated meta information
in the form of entity-headers, which if present SHOULD be associated
with the requested variant.
Although the request was successful, content was not served.
The server is awaiting further input from the user before proceeding.
Definition:
The server has fulfilled the request and the user agent SHOULD
reset the document view which caused the request to be sent.
This response is primarily intended to allow input for actions
to take place via user input, followed by a clearing of the
form in which the input is given so that the user can easily initiate another
input action.
This message might occur if a client has a partial copy of
content in its cache and requests and update of missing content.
This message indicates that the partial request succeeded.
Definition:
The server has fulfilled the partial GET request for the resource.
Redirection 3xx
Status codes in the 300 range indicate that additional client
action is required.
Definition:
This class of status code indicates that further action needs
to be taken by the user agent in order to fulfill the request.
Note: Previous versions of the HTTP specification recommended
a maximum of five redirections. Content developers should be
aware that there might be clients that implement such a fixed
limitation.
The requested resource (e.g., a URL) could be one of several.
The user will be provided with a list of possible choices,
or the server could automatically redirect.
Definition:
The requested resource corresponds to any one of a set of
representations, each with its own specific location, and agent-driven
negotiation information is being provided so that the user
(or user agent) can select a preferred representation and redirect
its request to that location.
The requested resource has moved to a new URL. A 410 status
code is returned if the new address is unavailable or not to
be revealed.
Definition:
The requested resource has been assigned a new permanent URL
and any future references to this resource SHOULD use one of
the returned URLs.
The requested resource has moved, but the browser is not automatically
redirected. Instead the new URL should be presented to the
user.
Definition:
The requested resource resides temporarily under a different
URL. Since the redirection might be altered on occasion, the
client SHOULD continue to use the Request-URL for future requests.
This response is only cacheable if indicated by a Cache-Control
or Expires header field.
As with 302, the requested resource has moved, but if the
request was a GET request, an automatic redirect by the browser
is acceptable.
Definition:
The response to the request can be found under a different
URL 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 URL is not a substitute reference for the originally requested
resource.
If a client has a partial copy of content in its cache and
requests and update, but the document has not been modified
since cached, the server responds with a 304 status code and
does not send the content to the client. This allows updates
of local cache information without fewer HTTP requests.
Definition:
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.
The requested resource (e.g., web page) must be accessed through
the URL of the proxy server in this message.
Definition:
The requested resource MUST be accessed through the proxy
given by the Location field.
Not in use
Definition:
The 306 status code was used in a previous version of the
HTTP specification, it is no longer used, and the code is reserved.
As with 302 and 303, this code is for a moved resource. 303
and 307 were created as unambiguous alternatives to 302. 307
is a temporarily moved resource and thus the same URL should
be continued to be used.
Definition:
The requested resource resides temporarily under a different
URL. Since the redirection MAY be altered on occasion, the
client SHOULD continue to use the Request-URL for future requests.
Client Error 4xx
Status codes in the 400 range are intended to indicate errors
on the part of the browser or the machine on which it operates.
Definition:
The 4xx class of status code is intended for cases in which
the client seems to have erred. Except when responding to a
HEAD request, the server SHOULD include an entity containing
an explanation of the error situation, and whether it is a
temporary or permanent condition.
The server did not understand your request. An improperly
typed URL is usually the cause. If not that, there could be
a problem with the document itself.
Definition:
The request could not be understood by the server due to malformed
syntax.
This URL probably requires a username and password. Try submitting
them again in case you made an error. If the password doesn't
seem to work, contact the site administrator to resolve the
problem.
Definition:
The request requires user authentication, typically a Username/Password
credential pair. If the request already included Authorization
credentials, then the 401 response indicates that authorization
has been refused for those credentials.
This is intended to return acceptable payment options. Not
presently used.
Definition:
This code is reserved for future use.
You tried to access a URL for which you don't have permission.
If you usually can access this document, there might be a problem
with the server. If so, contact the site administrator.
Definition:
The server understood the request, but is refusing to fulfill
it. Authorization will not help and the request SHOULD NOT
be repeated.
This is probably the most common status code. Your browser
cannot locate the document corresponding to the URL you entered.
An improperly typed URL is usually the cause. The document
may also have been moved. If you cannot find it elsewhere on
the site, it may have been permanently removed.
Definition:
The server has not found anything matching the Request-URL.
No indication is given of whether the condition is temporary
or permanent. The 410 (Gone) status code SHOULD be used if
the server knows, through some internally configurable mechanism,
that an old resource is permanently unavailable and has no forwarding
address. This status code is commonly used when the server does
not wish to reveal exactly why the request has been refused,
or when no other response is applicable.
You may be attempting to run a script that is not supported.
Some ISPs do not allow scripts on their servers, which could
result in this status code. For an explanation of methods in
HTTP headers see this page of the HTTP/1.1 protocol
Definition:
The method specified in the Request-Line is not allowed for
the resource identified by the Request-URL.
It’s possible you have requested a page that contains files
which your browser has indicated to the server that it cannot
accept, for example, a multimedia file that your browser cannot
process. Your browser sends information about what files it
can accept to the server (in the HTTP header) as part of a
request. You might check the preferences settings of your browser to see
if there are file types it is not accepting.
Definition:
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.
There is a proxy server between your client and the server
you are requesting the page from that requires a username and
password.
Definition:
This code is similar to 401 (Unauthorized), but indicates
that the client must first authenticate itself with the proxy.
The request took longer than allowed to complete. Try the
request again. If this error continues to appear, try waiting
a few hours before repeating the request
Definition:
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.
Conflicts are likely to occur where an inappropriate alteration
of the resource is being attempted.
Definition:
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.
A 410 status code is returned if the new address is altogether
unavailable or the server admin does not want to reveal it.
Definition:
The requested resource is no longer available at the server
and no forwarding address is known. This condition is expected
to be considered permanent.
Your client did not define the length of the requested content
in the request header.
Definition:
The server refuses to accept the request without a defined
Content-Length.
The header of the request specified information about acceptable
files that is not applicable to the requested file.
Definition:
The precondition given in one or more of the request-header
fields evaluated to false when it was tested on the server.
This response code allows the client to place preconditions
on the current resource meta information (header field data)
and thus prevent the requested method from being applied to a resource
other than the one intended.
The content of the request is more than the server can process.
The request may have included a message body, which is not
always permissible.
Definition:
The server is refusing to process a request because the request
entity is larger than the server is willing or able to process.
The server MAY close the connection to prevent the client from
continuing the request.
Since a POST request allows for an unlimited amount of data
to be sent to a server by tagging it on to the request, if
the request were converted to a GET request this error could
result. Additionally, since a GET request allows for appending
of search or form data in the header, the URL created could be longer
than acceptable.
Definition:
The server is refusing to service the request because the
Request-URL 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 URL “black hole”
of redirection (e.g., a redirected URL 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-URL.
There may have been an error in the MIME type indicated in
the request header, i.e., your browser might have requested
an image file, when in fact the requested file is an application.
Multipurpose Internet Mail Extensions (MIME) is a specification
that describes the transfer and format of media files. It is
included in the header of an HTTP request. Because different
media are transferred over the Web (images, text, video), the
MIME header defines what needs to be linked to and transferred. Both
browsers and web servers can be configured as to what MIME types
they can transfer or accept.
Definition:
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.
Your browser, which sends information on acceptable file size
as part of its request, may have requested a file that does
not fit these parameters. See the HTTP protocol for more information.
Definition:
A server SHOULD return a response with this status code if
a request included a Range request-header field, 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.
The Expect request-header field is used to indicate that particular
server behaviors are required by the client. The server could
not execute these expectations.
Definition:
The expectation given in an Expect request-header field 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
Status codes in the 500 range indicate that an error occurred
with the server that you are trying to obtain a file from.
Definition:
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. Except when responding
to a HEAD request, the server SHOULD include an entity containing
an explanation of the error situation, and whether it is a temporary or
permanent condition. User agents SHOULD display any included
entity to the user.
There is an internal server error on the site you are trying
to contact. Unfortunately, there's nothing you can do other
than contact the site administrator. Try once or twice, and
then give up.
Definition:
The server encountered an unexpected condition which prevented
it from fulfilling the request.
You’ve asked the server to do something it can't. The server
in question may need to be upgraded.
Definition:
The server does not support the functionality required to
fulfill the request. This is the appropriate response when
the server does not recognize the request method and is not
capable of supporting it for any resource.
The server you contacted for a document had to contact another
server to obtain it. The server you first contacted received
an error from the second server.
Definition:
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.
The server you're trying to access is over tasked at the moment
and it can't process your request. The server may be down for
maintenance, or there may just be too many users on the site
at the moment.
Definition:
The server is currently unable to handle the request due to
a temporary overloading or maintenance of the server. The implication
is that this is a temporary condition which will be alleviated
after some delay.
Note: The existence of the 503 status code does not imply
that a server must use it when becoming overloaded. Some servers
may wish to simply refuse the connection.
Your modem or Internet connection has just hung up on you.
There are several possible reasons for this. The most likely
is that your connection has been inactive longer than allowed
(the time limit will usually be set by your ISP). It could
also be a server or network problem.
Definition:
The server, while acting as a gateway or proxy, did not receive
a timely response from the upstream server specified by the
URL (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g.
DNS) it needed to access in attempting to complete the request.
Note: Some deployed proxies are known to return 400 or 500
when DNS lookups time out.
Your browser may have made a request using HTTP 1.1, whereas
the server you made the request to supports only up to HTTP
1.0. This may occur when a proxy server sends along a request
with a different version number.
Definition:
The server does not support, or refuses to support, the HTTP
protocol version that was used in the request message.
|