HTTP status codes

What each code means, what causes it, and how to fix it — written for people debugging a live problem.

1xx — Informational

100 Continue
101 Switching Protocols
102 Processing
103 Early Hints

2xx — Success

200 OK
201 Created
202 Accepted
204 No Content
206 Partial Content
207 Multi-Status

3xx — Redirection

301 Moved Permanently
302 Found
303 See Other
304 Not Modified
307 Temporary Redirect
308 Permanent Redirect

4xx — Client errors

400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
408 Request Timeout
409 Conflict
410 Gone
413 Payload Too Large
415 Unsupported Media Type
418 I'm a Teapot
422 Unprocessable Entity
429 Too Many Requests
431 Request Header Fields Too Large

5xx — Server errors

500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
507 Insufficient Storage
508 Loop Detected
511 Network Authentication Required

Codes shown in blue have a detailed page covering causes, diagnosis, and fixes.

Frequently asked questions

What are the HTTP status code categories?

Five. 1xx is informational, 2xx means success, 3xx is redirection, 4xx covers client errors where the request was faulty, and 5xx covers server errors where the request was fine but the server could not fulfil it. The first digit tells you who to blame before you read anything else.

Which status codes indicate my site is down?

The 5xx family, and 502, 503 and 504 in particular. These mean the server or something in front of it could not deliver a response. Cloudflare adds its own 520–526 range for failures between its edge and your origin, which are among the most useful to recognise on sight.

What is the difference between 4xx and 5xx errors?

4xx means the problem is attributed to the request — wrong URL, missing authentication, malformed body. 5xx means the request was acceptable and the server failed anyway. A surge of 5xx is an outage; a surge of 4xx is usually a broken client or a bad link.

Can a site return 200 and still be broken?

Yes, and it is the failure mode uptime checks miss most often. An application can serve an error page, an empty template, or a stale cache with a 200 status. Keyword monitoring — checking the response body actually contains expected text — is what catches this.

Get told which status code your site is returning

Pingura checks from five regions and alerts on the status code, not just whether the server answered.

Get Started Free