HTTP status codes
Every HTTP status code with what it actually means, what causes it, and what to do about it. One page per code.
Informational
100Continue
The server has read your request headers, they look fine, and it wants the rest of the request body.
101Switching Protocols
The server is agreeing to change protocol on this connection, almost always from HTTP to WebSocket.
102Processing
The server has the request and is still working on it, sent to stop the client giving up early.
103Early Hints
A preview of headers sent before the real response, so the browser can start fetching stylesheets and scripts sooner.
Success
200OK
The request worked and the response contains what you asked for.
201Created
The request succeeded and a new resource now exists as a result of it.
202Accepted
The request was accepted for processing, but the work has not finished and might not succeed.
203Non-Authoritative Information
The request succeeded, but something between you and the origin server modified the response on the way.
204No Content
The request succeeded and there is deliberately nothing to send back.
205Reset Content
The request succeeded, and the client should clear the form or view it was showing.
206Partial Content
The server is sending only the byte range you asked for, not the whole file.
207Multi-Status
One response carrying several different outcomes, because the request touched several resources at once.
208Already Reported
This resource was already listed earlier in the same response, so it is not being repeated.
226IM Used
The server applied a transformation you asked for and is returning the result of it rather than the resource itself.
Redirection
300Multiple Choices
More than one version of this resource exists and the server is not picking one for you.
301Moved Permanently
This URL has moved for good, and everything pointing at it should be updated to the new address.
302Found
The resource is temporarily somewhere else, but keep using this URL for future requests.
303See Other
Go and fetch this other URL with a GET, whatever method you used for the request that got you here.
304Not Modified
Nothing has changed since you last fetched this, so use the copy you already have.
305Use Proxy
A withdrawn code that told the client to reach this resource through a proxy.
307Temporary Redirect
Temporarily use this other URL, and repeat the request exactly as you sent it, method and body included.
308Permanent Redirect
This URL has moved for good, and the request should be repeated at the new address exactly as sent.
Client errors
400Bad Request
The server could not understand the request well enough to process it, so it refused before trying.
401Unauthorized
The request has no valid credentials, so the server will not process it until you authenticate.
402Payment Required
Reserved for payment, never standardised, and used by a handful of APIs anyway.
403Forbidden
The server understood the request, knows who you are, and is refusing anyway. Authenticating again will not help.
404Not Found
The server has nothing at this URL. The address is wrong, or whatever used to be there is gone.
405Method Not Allowed
The URL exists, but it does not accept the HTTP method you used, such as a POST to a read-only endpoint.
406Not Acceptable
The server cannot produce the response in any format your Accept headers said you would take.
407Proxy Authentication Required
A proxy between you and the server needs credentials before it will pass the request along.
408Request Timeout
The server gave up waiting for the request to arrive, so it closed the idle connection.
409Conflict
The request is valid but clashes with the current state of the resource, so it cannot be applied.
410Gone
This resource existed, was deliberately removed, and is not coming back. Stop asking for it.
411Length Required
The server will not accept the request without a Content-Length header.
412Precondition Failed
A condition you attached to the request was not true, so the server refused to carry it out.
413Content Too Large
The request body is bigger than the server is willing to accept.
414URI Too Long
The URL itself is longer than the server is prepared to read.
415Unsupported Media Type
The server will not accept the format of the request body, or the Content-Type header describing it.
416Range Not Satisfiable
You asked for a byte range that does not exist in the file.
417Expectation Failed
The server cannot meet the expectation set in the request Expect header.
418I'm a Teapot
A joke code from a 1998 April Fools specification, saying the server is a teapot and cannot brew coffee.
421Misdirected Request
The request reached a server that is not configured to answer for the hostname you asked for.
422Unprocessable Content
The request was understood perfectly, but its contents failed validation, so it cannot be acted on.
423Locked
The resource is locked, so the operation you asked for cannot proceed.
424Failed Dependency
This request failed because another request it depended on failed first.
425Too Early
The server will not risk processing this request yet, because replaying it could be dangerous.
426Upgrade Required
The server refuses this request on the current protocol and tells you which one to switch to.
428Precondition Required
The server insists the request carry a condition, so that two people cannot silently overwrite each other.
429Too Many Requests
You have sent more requests than the server allows in a given period, so it is refusing until the limit resets.
431Request Header Fields Too Large
The request headers are too big for the server to accept, often because of cookies.
444No Response
A web server convention meaning the connection was closed without answering at all.
451Unavailable For Legal Reasons
The content is being withheld because of a legal demand, such as a court order or a takedown notice.
499Client Closed Request
A log-only code meaning the client gave up and disconnected before the server finished answering.
Server errors
500Internal Server Error
Something went wrong inside the server and it has no more specific explanation to give you.
501Not Implemented
The server does not support the functionality needed to answer this request at all.
502Bad Gateway
A server acting as a gateway got an invalid response from the server behind it, so it has nothing valid to pass on.
503Service Unavailable
The server is temporarily unable to handle the request, usually because it is overloaded or down for maintenance.
504Gateway Timeout
A gateway gave up waiting for the server behind it to answer, so it returned a timeout instead.
505HTTP Version Not Supported
The server does not support the HTTP version used in the request.
506Variant Also Negotiates
The server is misconfigured: a resource meant to pick between versions is pointing at itself.
507Insufficient Storage
The server does not have room to store what the request is trying to save.
508Loop Detected
The server stopped because the operation was going round in circles.
510Not Extended
The server needs the request to include an extension it did not carry.
511Network Authentication Required
The network you are on wants you to log in before it will let any traffic through.
520Web Server Returned an Unknown Error
A content network could not make sense of what your origin server sent back.
521Web Server Is Down
A content network could not open a connection to your origin server at all.
522Connection Timed Out
A content network tried to reach your origin server and the connection never completed.
523Origin Is Unreachable
A content network could not find a route to your origin server at all.
524A Timeout Occurred
A content network connected to your origin successfully, then gave up waiting for it to finish responding.