Developer Toolbox

HTTP Status Codes

Every status code you are likely to meet, what it means and where to look next. Codes with a Guide link have a page of their own with the usual causes, the fixes and an example response.

Status codes

49 of 49

CodeNameMeaningGuide
100ContinueThe server got the headers; the client can send the body.
101Switching ProtocolsThe connection switches protocol, usually to WebSocket.
103Early HintsPreload hints sent ahead of the final response.
200OKThe request succeeded.
201CreatedA resource was created; its URL is in the Location header.
202AcceptedAccepted for processing that has not finished yet.
204No ContentSuccess, with no body to return.
206Partial ContentPart of the resource, answering a Range request.
301Moved PermanentlyThe resource has a new permanent URL.Guide to 301 Moved Permanently
302FoundTemporary redirect; clients may turn a POST into a GET.
303See OtherFetch the result from another URL, with GET.
304Not ModifiedThe cached copy is still valid; no body is sent.Guide to 304 Not Modified
307Temporary RedirectTemporary redirect that keeps the method and body.
308Permanent RedirectPermanent redirect that keeps the method and body.
400Bad RequestThe server cannot parse or accept the request.Guide to 400 Bad Request
401UnauthorizedCredentials are missing or invalid.Guide to 401 Unauthorized
402Payment RequiredReserved; some APIs use it for billing limits.
403ForbiddenThe server understood the request and refuses it.Guide to 403 Forbidden
404Not FoundNothing at this URL, or the server will not say.Guide to 404 Not Found
405Method Not AllowedThe URL exists, but not for this HTTP method.Guide to 405 Method Not Allowed
406Not AcceptableNothing matches the Accept headers the client sent.
407Proxy Authentication RequiredA proxy between client and server wants credentials.
408Request TimeoutThe client took too long to send the request.
409ConflictThe request clashes with the current state of the resource.Guide to 409 Conflict
410GoneRemoved on purpose, with no forwarding address.
411Length RequiredThe server needs a Content-Length header.
412Precondition FailedAn If-Match or If-Unmodified-Since check failed.
413Content Too LargeThe request body is over the server's size limit.Guide to 413 Content Too Large
414URI Too LongThe URL, usually its query string, is too long.
415Unsupported Media TypeThe server does not accept the body's Content-Type.
416Range Not SatisfiableThe requested byte range is outside the file.
417Expectation FailedThe server cannot meet the Expect header.
418I'm a teapotAn April Fools' joke from RFC 2324, kept reserved since.
421Misdirected RequestThe connection reached a server that cannot answer for this host.
422Unprocessable ContentWell-formed, but the data fails validation.Guide to 422 Unprocessable Content
425Too EarlyThe server will not process a request that might be replayed.
426Upgrade RequiredSwitch to the protocol named in the Upgrade header.
428Precondition RequiredThe server requires a conditional request, such as If-Match.
429Too Many RequestsRate limit reached; wait before trying again.Guide to 429 Too Many Requests
431Request Header Fields Too LargeThe headers, often the cookies, are too large.
451Unavailable For Legal ReasonsBlocked for legal reasons.
500Internal Server ErrorAn unexpected error on the server.Guide to 500 Internal Server Error
501Not ImplementedThe server does not support this method at all.
502Bad GatewayA proxy got an invalid response from the server behind it.Guide to 502 Bad Gateway
503Service UnavailableThe server is overloaded or down for maintenance.Guide to 503 Service Unavailable
504Gateway TimeoutA proxy gave up waiting for the server behind it.Guide to 504 Gateway Timeout
505HTTP Version Not SupportedThe server refuses this version of HTTP.
507Insufficient StorageThe server cannot store what the request needs.
511Network Authentication RequiredA captive portal wants you to log in first.

The five classes

1xx Informational
The request was received and is still being processed.
2xx Success
The request was received, understood and accepted.
3xx Redirection
The client has to do something more, usually follow a redirect.
4xx Client error
Something in the request is wrong or not allowed right now; most need a change before a retry.
5xx Server error
The server failed to handle a request that looks valid.

Commonly confused