HTTP Status Code Lookup
Search and learn 31 common HTTP status codes with plain-English meanings.
Server received request headers, client should proceed to send body.
Server is switching protocols as requested.
Request succeeded. The standard success response.
Request succeeded and a new resource was created.
Request accepted for processing but not yet completed.
Request succeeded but there is no content to return.
Server is delivering only part of the resource (range request).
Resource has moved permanently to a new URL.
Resource is temporarily at a different URL.
Cached version is still valid; client can use it.
Redirect to a temporary URL, keep the HTTP method.
Permanent redirect, keep the HTTP method.
Server cannot process the request due to client error.
Authentication is required and has failed or not been provided.
Server refuses to authorize the request.
Resource was not found on the server.
Request method is not allowed for the resource.
Server timed out waiting for the request.
Request conflicts with the current state of the resource.
Resource is no longer available and will not be available again.
Request body is larger than the server is willing to process.
Media type of the request is not supported.
April Fools joke from RFC 2324. Servers may return this when refusing to brew coffee.
Request is well-formed but contains semantic errors.
Client has sent too many requests in a given time (rate limited).
Generic server error message.
Server does not support the functionality required.
Server acting as a gateway received an invalid response upstream.
Server cannot handle the request (overloaded or maintenance).
Upstream server failed to respond in time.
Server does not support the HTTP version used in the request.
Written by Anil Gautam · Updated
How do you search the status code list?
The list holds 31 codes: 2 informational, 5 success, 5 redirection, 13 client error and 6 server error. Whatever you type is matched as plain text against each code's number, name and one-line description, ignoring case. Typing 40 leaves seven cards: 400, 401, 403, 404, 405, 408 and 409. With only 4 in the box, 204, 304 and 504 appear as well, because they contain that digit.
Words are matched the same way. A search for timeout returns 408 and 504, and gateway returns 502 and 504. Searching for redirect finds only 307 and 308, because the descriptions of 301 and 302 never use that word; search url to see 301, 302 and 307 together. Two names follow older specifications: 413 appears as Payload Too Large and 422 as Unprocessable Entity. RFC 9110, the HTTP standard published in 2022, renamed them Content Too Large and Unprocessable Content, and searching those names returns nothing. Codes outside the list, such as 303 See Other, show "No codes match".
What is the difference between 301, 302, 307 and 308?
Two things separate them: whether the move is permanent, and whether the client may change the request method. Codes 301 and 308 are permanent, while 302 and 307 are temporary. For historical reasons a browser may turn a POST into a GET when it follows a 301 or 302, but 307 and 308 require the same method and body. If a form posts to an address that has moved, a 307 or 308 keeps the POST intact. A 304 is another matter: it answers a conditional request and tells the client that its cached copy is still current, so no body is sent.
Which client and server errors are easy to mix up?
A 401 response means the request lacks valid credentials, and the server must include a WWW-Authenticate header saying how to authenticate. With 403 the server understood the request and refuses it, and sending the same credentials again will not help. A 404 says nothing is at that address without saying whether that will last, while 410 says the resource is no longer available and probably never will be.
Among server errors, 502 means a gateway or proxy got an invalid response from the server behind it, 504 means that server did not answer in time, and 503 means the server is overloaded or down for maintenance. A 429 or 503 response may carry a Retry-After header that tells the client how long to wait. To find out which code a live URL returns, use the HTTP Headers Checker, or the Redirect Chain Checker to see the code at every hop of a redirect.