HTTP Status Codes Explained: What 404, 500, and the Rest Actually Mean
Those three-digit numbers your browser shows are the web's way of telling you what happened. Here is how to read them.
What a status code is
Every time your browser or app requests something from a web server, the server replies with a three-digit HTTP status code that summarizes what happened. Most of the time you never see it, the page just loads (that is a 200). But when something goes wrong, the code appears, and knowing how to read it instantly tells you whether the problem is your request, the page, or the server itself. They are grouped into five ranges by their first digit.
2xx: Success
Codes in the 200s mean the request worked. 200 OK is the everyday 'here is your page, all good.' 201 Created means your request successfully made something new (common after submitting a form or API call that adds data). 204 No Content means it worked but there is nothing to send back. If you are seeing 2xx, the system is doing its job, no action needed.
3xx: Redirection
The 300s mean 'what you want is somewhere else, follow along.' 301 Moved Permanently says a page has a new home for good, browsers and search engines update accordingly (this is the SEO-friendly way to move a URL). 302/307 mean a temporary redirect. 304 Not Modified tells your browser its cached copy is still current, saving a re-download. Redirects are normal and usually invisible; they only cause trouble when misconfigured into loops.
4xx: You (the client) made an error
The 400s mean the problem is with the request, your side. The famous 404 Not Found means the page does not exist (bad link or typo'd URL). 400 Bad Request means the request was malformed. 401 Unauthorized means you need to log in; 403 Forbidden means you are logged in but not allowed. 429 Too Many Requests means you have been rate-limited for sending too many requests too fast. 4xx errors generally mean 'fix the request,' not 'the server is broken.'
5xx: The server made an error
The 500s mean your request was fine but the server failed to handle it, their side, not yours. 500 Internal Server Error is the generic 'something broke on the server' (often a bug or, as many site owners know, a database that is down). 502 Bad Gateway and 504 Gateway Timeout mean a server acting as a middleman got a bad or no response from an upstream server. 503 Service Unavailable means the server is overloaded or down for maintenance. When you see 5xx, there is usually nothing you can do but wait or report it.
Why this is worth knowing
Status codes turn vague 'the site is broken' frustration into a precise diagnosis. A 404 means check your link; a 403 means a permissions issue; a 429 means slow down; a 500 or 503 means the site itself is having problems and it is not your fault. For anyone who builds or maintains websites, they are essential, and for everyone else, they are a handy way to understand what is actually happening when the web misbehaves.
Related on Skillo
See also: What is an API? A plain-English explanation, What is DNS? How the internet's phonebook works.
Sources
Published date reflects the original event date (2026-07-01). This article is original Skillo editorial written from the sources above; facts were verified in September 2026.
Written by
Skillo Staff
0 Comments
Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.