HTTP status codes
Every response from a web server starts with a three-digit code. Here's what each common one means, why it happens and how to fix it.
1xx Informational
The request was received and is being processed.
2xx Success
The request worked.
- 200OKThe request succeeded and the response has the content.
- 201CreatedThe request succeeded and created a new resource.
- 202AcceptedThe request was accepted for processing, which hasn't finished yet.
- 204No ContentThe request succeeded and there's nothing to send back.
- 206Partial ContentThe server sent part of the file, as the client asked with a Range header.
3xx Redirection
The resource is somewhere else, or hasn't changed.
- 301Moved PermanentlyThe resource has a new permanent address, given in the Location header.
- 302FoundThe resource is temporarily at another address.
- 303See OtherGo to another address with a GET request.
- 304Not ModifiedThe cached copy is still current, so nothing is sent again.
- 307Temporary RedirectTemporarily at another address; repeat the same request method there.
- 308Permanent RedirectPermanently at another address; repeat the same request method there.
4xx Client errors
Something is wrong with the request.
- 400Bad RequestThe server couldn't understand the request.
- 401UnauthorizedAuthentication is needed and was missing or wrong.
- 402Payment RequiredReserved for payment; some APIs use it when a plan limit or payment is due.
- 403ForbiddenThe server understood the request but refuses it.
- 404Not FoundNothing exists at this address.
- 405Method Not AllowedThe address exists but doesn't accept this request method.
- 408Request TimeoutThe client took too long to send its request.
- 409ConflictThe request conflicts with the current state of the resource.
- 410GoneThe resource was removed on purpose and won't come back.
- 413Content Too LargeThe request body is bigger than the server accepts.
- 414URI Too LongThe address is longer than the server accepts.
- 415Unsupported Media TypeThe server doesn't accept the request body's format.
- 418I'm a teapotAn April Fools' joke code: the server refuses to brew coffee because it's a teapot.
- 422Unprocessable ContentThe request is well formed but its data doesn't pass validation.
- 425Too EarlyThe server won't risk processing a request that might be replayed.
- 426Upgrade RequiredThe client must switch to another protocol, given in the Upgrade header.
- 429Too Many RequestsThe client sent too many requests in a given time (rate limiting).
- 431Request Header Fields Too LargeThe request's headers are too big.
- 451Unavailable For Legal ReasonsThe resource is blocked for legal reasons, like a court order or local law.
5xx Server errors
The server failed to handle a valid request.
- 500Internal Server ErrorThe server hit an unexpected error and couldn't finish the request.
- 501Not ImplementedThe server doesn't support what the request needs.
- 502Bad GatewayA server in the middle (proxy, load balancer or CDN) got an invalid response from the server behind it.
- 503Service UnavailableThe server can't handle the request right now, usually because it's overloaded or in maintenance.
- 504Gateway TimeoutA proxy, load balancer or CDN waited too long for the server behind it.
- 505HTTP Version Not SupportedThe server doesn't support the HTTP version used.
- 507Insufficient StorageThe server doesn't have the space to finish the request.
- 508Loop DetectedThe server found an infinite loop while processing the request.
- 511Network Authentication RequiredYou need to sign in to the network first.
- 520Web Server Returned an Unknown ErrorCloudflareThe origin server returned something empty, unknown or unexpected to Cloudflare.
- 521Web Server Is DownCloudflareCloudflare couldn't connect to the origin server: the connection was refused.
- 522Connection Timed OutCloudflareCloudflare's connection to the origin server timed out.
- 523Origin Is UnreachableCloudflareCloudflare can't reach the origin at all.
- 524A Timeout OccurredCloudflareCloudflare connected to the origin, but it didn't respond within 100 seconds.
- 525SSL Handshake FailedCloudflareCloudflare couldn't complete a TLS handshake with the origin.
- 526Invalid SSL CertificateCloudflareWith Full (strict) SSL, the origin's certificate couldn't be validated.