HTTP Status Codes Explained: What 404, 500, and 503 Actually Mean
A quick, plain-English guide to the HTTP status codes you'll see when a website is having problems β and what each one tells you about who's at fault.
Every response a web server sends has a three-digit status code. The first digit tells you the class of response; the rest give the specific reason. Here's the short version.
2xx β Success
- 200 OK β Everything worked.
- 204 No Content β Worked, but there's nothing to return (common for background APIs).
3xx β Redirection
- 301 Moved Permanently β The URL has permanently moved. Bookmarks should update.
- 302 Found β Temporary redirect.
- 304 Not Modified β Your cached copy is still fresh; the browser reuses it.
4xx β Client errors (usually your side)
- 400 Bad Request β The server couldn't understand what you sent.
- 401 Unauthorized β You need to log in.
- 403 Forbidden β You're logged in but not allowed here.
- 404 Not Found β The URL doesn't exist on this server. Very common; usually a typo or a deleted page.
- 429 Too Many Requests β Rate-limited. Slow down.
5xx β Server errors (their side)
- 500 Internal Server Error β Something crashed inside the app. The user can't fix this.
- 502 Bad Gateway β A proxy (like Cloudflare or nginx) couldn't reach the origin.
- 503 Service Unavailable β The server is overloaded or in maintenance.
- 504 Gateway Timeout β The proxy waited too long for the origin to respond.
What our probes look for
When Down For All Or Just Me checks a site, we mark anything in the 2xx or 3xx range as "up", and anything 5xx or a network-level failure as "down". 4xx codes are treated as up because they mean the server is responding β the URL is just wrong or gated. This mirrors how Google, Pingdom, and most monitoring tools classify checks.
Related articles
Ready to check if a specific service is down right now? Search on the home page or see the live outages.