Monitoring
Solutions
Resources
Free Tools
Pricing
Free Tools / HTTP & web / HTTP Status Code Reference

HTTP Status Code Reference

Type a code or a word. Each status code comes with what it means, what usually causes it and where to look — so a 502 at 3 a.m. is a starting point, not a mystery.

Runs entirely in your browser — nothing you enter here is sent to a server.

The five classes of status code

Every HTTP response starts with a three-digit status code, and the first digit tells you who has to act. That alone is usually enough to send an investigation in the right direction: a 4xx means the request was wrong, a 5xx means the server failed to handle a request that may well have been fine.

2xx — Success

The request worked. A 200 does not prove the page is right, though — an error message served with 200 is a common way for failures to hide.

3xx — Redirection

Go somewhere else. 301 and 308 are permanent, 302 and 307 temporary; 304 means "your cached copy is still good".

4xx — Client error

The request is at fault: wrong URL, missing credentials, bad data, too many requests. Retrying unchanged will fail again.

5xx — Server error

The server is at fault. These are the ones to alert on — and, unlike 4xx, often worth retrying after a pause.

The pairs people confuse

401 or 403. 401 means the server does not know who you are — log in and try again. 403 means it knows and the answer is no; new credentials for the same user will not help.

301 or 302. Both redirect. 301 tells browsers and search engines the move is permanent, so they remember it and transfer ranking to the new URL. 302 says it is temporary and the old URL stays the canonical one.

502, 503 or 504. All three usually come from a proxy or load balancer rather than your application. 502: the application answered with something invalid or dropped the connection — often it has crashed. 503: nothing is available to take the request — overload or no healthy instances. 504: the application accepted the request and did not answer in time — it is slow or stuck.

Frequently asked questions

What is the difference between 401 and 403?

401 Unauthorized means the request lacks valid authentication; signing in may fix it. 403 Forbidden means the server knows who you are and still refuses; signing in again will not change that.

What causes a 502 Bad Gateway?

A proxy or load balancer could not get a valid response from the application behind it. The usual causes are a crashed or restarting application, a wrong upstream address or port, or the app closing connections under load.

What is the difference between 502 and 504?

With 502 the upstream gave a bad response or none at all, immediately. With 504 the proxy waited for the upstream and gave up when its timeout expired — the application is running but too slow.

Which status codes should I monitor?

Alert on 5xx responses and on any change from the code you expect — for example a page that should return 200 starting to return 404 or a redirect. A sudden rise in 4xx after a deploy is also worth a look.

Related free tools

Looking up a status code means someone already saw the error.

Upzilla checks your URLs every minute and alerts you when the status code changes — before a customer reports it. 10 monitors free.

Start monitoring free →