Where it sits
404 sits in the honest middle: something isn't here now. Whether it once was, or will be again, the code flatly refuses to say.
How it unfolds
The request
You ask a server for an address — a page, an image, a file. The ask itself is ordinary and specific.
The server answers
It replies. That alone means the name resolved, the connection opened, and the machine is alive and listening. Nothing is broken yet.
The empty shelf
It looks for what you named and finds nothing it can give you — or finds something it is unwilling to admit exists.
The reply
It returns 404. In HTTP/1.1 a human-readable reason phrase follows, but 'Not Found' is only the suggested wording — and HTTP/2 and HTTP/3 drop the phrase entirely. The number is the part that carries the meaning.
Tell it apart
| Aspect | 404 Not Found | 410 Gone |
|---|---|---|
| Permanence | Unknown — no promise | Likely permanent |
| Implies intent? | No | Yes — removed deliberately |
| Use it when | You can't tell | You know it's gone for good |
| Might return? | Maybe | Unlikely - spec says 'likely permanent' |
404 says 'not here' and promises nothing — it might be back tomorrow. 410 says 'this is gone, on purpose, and it isn't coming back.' The spec asks servers to prefer 410 when they know the removal is permanent, and 404 when they genuinely can't tell.
| Aspect | 404 Not Found | 403 Forbidden |
|---|---|---|
| Does it exist? | Not as far as you know | Yes |
| Would signing in help? | No | Sometimes |
| Reveals existence? | No | Yes |
| Can stand in for the other? | Yes — to hide a page | No |
403 admits the thing exists and refuses to give it to you. 404 says there is nothing here at all. The twist: a server is explicitly allowed to answer 404 instead of 403 precisely to avoid revealing that a protected page exists.
What it doesn't mean
It wasn't. 404 is simply the fifth code in the client-error block — the 1992 spec lists 400, 401, 402, 403, 404 in order, with 200–204 and 500–503 laid out the same way. A number arrived at by counting cannot also be a room number, or 400, 401 and 402 would each need one too.
The 4xx class is labelled 'client error', but the original spec hedges carefully: the client 'seems to have erred'. In practice most 404s come from a dead link or a deleted page — not from anything you did.
The opposite. To receive a 404 at all, your request reached a working server that answered you. A 404 is a successful conversation with a disappointing answer.
What it really means
Almost everyone has met a 404, and almost everyone reads it as a small accusation — as though the internet just caught you doing something wrong. It didn't. A 404 is a server saying, politely and with no further explanation, that there is nothing at the address you named. Not that you mistyped it. Not that it's gone for good. Just: not found.
The most useful thing to understand is what a 404 actually proves. To see one at all, your request had to travel the whole way: the domain name resolved, a connection opened, a machine on the other side listened and answered. A broken site doesn't hand you a 404 — it hands you nothing. So a 404 is a working conversation with a disappointing answer, which is a very different thing from silence. That distinction is why the specification keeps it apart from 403 Forbidden (it exists; you can't have it) and 410 Gone (it existed; we removed it deliberately). 404 is the honest shrug in the middle: something isn't here, and the server won't pretend to know more than that.
And no, it wasn't named after a room. The story that 404 comes from Room 404 at CERN, where the first web server supposedly lived, is repeated almost everywhere — and you can disprove it yourself in about ten seconds. The 1992 document that first laid out these codes lists them in plain order: 400, 401, 402, 403, 404. Above them sit 200, 201, 202, 203, 204; below them 500, 501, 502, 503. A number you arrive at by counting can't also be a room number, unless CERN kept a Room 400, 401 and 402 doing the same job down the corridor. 404 is just the fifth error in the fourth block — which is, in its way, the better story. The most famous absence on the internet got its name from nothing more mysterious than its place in a list.
Where it comes from
the client-error block of status codes
the fifth code in that block (400 to 404)
The 4 marks the class — client error — and the 04 the specific error within it. Not a room number; see the myth below.
- 1992
404 appears in the W3C's archived CERN-era status-code list, filed under 1992, which runs 400, 401, 402, 403, 404 in order — the year-earlier HTTP/0.9 had no status codes at all.
- 1996
First published in an RFC — RFC 1945, HTTP/1.0 (an Informational document, not a standard), section 9.4.
- 2022
Today it is defined by RFC 9110 section 15.5.5, which fixes one meaning inherited by HTTP/1.1, HTTP/2 and HTTP/3 alike.
In real life
- You click a link in a ten-year-old news article and land on 'Not Found': the site is running fine, but the page the link pointed to was moved or deleted long ago.
- Get one letter wrong in a web address and a perfectly healthy server answers 404 — it heard you, looked, and found nothing there.
- The hacker-slang sense, for a person: 'Don't ask him about printers — he's completely 404 on anything with a paper tray.'
Questions
Q01What does error 404 mean?
It means the server was reached successfully but has no page or file at the address you requested. In the words of the current specification, RFC 9110, the server 'did not find a current representation for the target resource' — or is not willing to admit that one exists.
Q02Is a 404 error my fault?
Usually not. 404 belongs to the 'client error' class, which sounds like blame, but the wording has always been deliberately softer, and still is: RFC 9110 says the client 'seems to have erred'. Most 404s come from a link that rotted or a page that was deleted — Pew Research found in 2024 that a quarter of webpages from the previous decade were no longer reachable. Worth checking the address for a typo, but usually nothing you did.
Q03What's the difference between a 404 and a 410?
404 says the page isn't here and makes no claim about whether that's temporary. 410 Gone says it was removed on purpose and is unlikely to return. The specification asks servers to use 410 when they know the removal is permanent, and to fall back to 404 whenever they can't tell.
Q04What is a soft 404?
A soft 404 is a page that tells a human 'not found' while telling machines everything is fine — it shows an error message but returns a 200 OK code. The label was introduced in 2004 by Ziv Bar-Yossef and colleagues; Google uses it for exactly this mismatch and recommends returning a real 404 or 410 instead, because a false 200 tells search engines a genuine page lives at that address.
Q05Was 404 named after a room at CERN?
No — this is the most repeated myth about the code. 404 is simply the fifth code in the 4xx client-error block. The 1992 specification lists 400, 401, 402, 403 and 404 in sequence, with 200–204 and 500–503 built the same way. The number came from counting, not from a corridor.
Q06Does a 404 mean the page is gone forever?
No — and that is exactly why a separate code exists for it. A 404 says nothing at all about permanence; the page may well return tomorrow. If a site wants to say 'this is permanently gone', the correct code is 410.
Q07What does it mean to call a person '404'?
It's hacker slang, documented in the Jargon File, for someone who has no idea — the entry glosses it as 'sapience not found'. It borrows the web error to say that the answer you were looking for simply isn't in there.
Sources
- RFC 9110 section 15.5.5 — HTTP Semantics (the current specification).
- RFC 1945 section 9.4 — HTTP/1.0 (1996), the first RFC to publish 404.
- Status codes in HTTP (W3C, 1992) — the original numbered blocks.
- 404 Not Found — MDN Web Docs.
- 404 (etymology) — Wiktionary.