Many of the best, most clever, 404 error pages have disappeared over the years. What are the current highlights, or ones that survived the test of time?
"Liquidity traps
We injected some extra money into the technology team but there was little or no interest so they simply kept it, thus failing to stimulate the page economy."
As I imagine tech teams across the world thinking, "Wait! We could have just kept the money?!"
Ok, you win! I gave up at some point and started scrolling impulsively to check if this is an infinite feed generated by some llm query. Turns out it was finite.
Once upon a midnight dreary, while I pron surfed, weak and weary,
Over many a strange and spurious site of 'hot xxx galore',
While I clicked my fav'rite bookmark, suddenly there came a warning,
And my heart was filled with mourning, mourning for my dear amour.
"’Tis not possible!", I muttered, "give me back my free hardcore!"
Quoth the server, 404
Adult Swim's 404 page always has a dark, sometimes surreal, shaggy-dog story that ends with a reference to the page being 404.[1]
The page seems to return the same story each time you access it (at least on the same day). I'm not sure when they change from one story to another. The author has posted some of the other stories on other sites.[2][3][4][5] I still vividly recall reading this one in particular (although this reproduction is missing the bolding of the text in the second to last paragraph).[6]
404 pages should have a different favicon so that when opening multiple tabs in the background you will notice something different.
Here's mine with a little easter egg when hovering over the numbers: https://ss64.com/404
I'm going to ask a stupid question at my own peril.. please go easy on me
Does serving a 404 page still allow the response of 404 as the response code? or is it technically a 200 since it is serving the custom 404 page successfully?
If you think about it, any response you get is a "200" by that definition since the server successfully gave you...something.
The browser usually has no special handling for most response codes, so serving a 404 page with a 404 status code is fine/expected and lets things (browser, scraper, etc) respond appropriately. I don't think the browser treats it specially but if you were scraping, you'd obviously want to ignore that result.
It is frustrating to work with APIs that return something like
200
{
meta: {
status: 404
message: "field <x> not found"
}
}
If you request a page like www.ycombinator.com/monkeybusiness
There is no page called MonkeyBusiness so the webserver will throw a 404 error and either display a default page generated by the web server software or optionally a custom page.
In reality the 404 page will have a different url that you never see.
If you happened to know that the page was www.ycombinator.com/error404.html
Then you could load that page directly and it would return 200 OK
In very simplified terms, "404" is just a number that's included in the "invisible" HTTP header of the web page you're visiting. Whether this number is "200" (success) or "404" (not found), it doesn't affect how your browser renders the web page.
Technically you could have a website where you serve real web pages full of content using the (wrong) 404 code, or serve web pages that tell the user "not found" using the (wrong) 200 code. It would massively mess up bots, search engines, browser extensions, and any other software that needs to know whether a page actually exists - but it would be fully browsable like normal by a human with a web browser, since humans don't see or read HTTP headers.
Brave offers to check the Wayback Machine for a cached version of the page.
Basically: 404 tells crawlers that the URL is invalid.
The HTTP server also has to return something,. It could simply return 0-length content and allow the browser to show its error page, but that wouldn't be "on brand."
I had a similar debate with coworkers about returning 404 when a DB webhoook query found no rows. It added extra complexity to client code trying to figure out if it was a bad URL, bad query, or just no rows.
It is a good question! The 404 status code is useful context. The browser (or user agent, crawler, your code!) can act however it likes in response to the 404. A browser will render the page still, thus all the funky 404 pages
since sites can apply their branding to the error. If this were not the case the browser might show a generic message to the user (people would get used to this).
An example of where the browser might ignore the body is
in a 301 redirect.
One time I lost something important at work. I asked a co-worker about it and she suggested we do the St. Anthony prayer, so more-or-less to humor her and to take my mind off the worry I went along.
The important thing was found later that day, in a very unlikely place.
The text at the top is rather standard boilerplate 'page not found' verbiage, but the justifications according to the different economic theories listed afterwards is the hidden gem of this page!
[+] [-] HPsquared|2 years ago|reply
A range of spurious economic explanations for why they couldn't serve the page.
[+] [-] nerdjon|2 years ago|reply
It just kinda blends in like many other sites have a site map on the 404.
That is well done, simple but a good fun if you look at it for more than a couple seconds.
[+] [-] olddustytrail|2 years ago|reply
"Liquidity traps We injected some extra money into the technology team but there was little or no interest so they simply kept it, thus failing to stimulate the page economy."
As I imagine tech teams across the world thinking, "Wait! We could have just kept the money?!"
[+] [-] jimbokun|2 years ago|reply
[+] [-] unkulunkulu|2 years ago|reply
[+] [-] FredPret|2 years ago|reply
[+] [-] tumidpandora|2 years ago|reply
[+] [-] btbuildem|2 years ago|reply
[+] [-] deltarholamda|2 years ago|reply
[+] [-] alexb_|2 years ago|reply
[+] [-] ijijijjij|2 years ago|reply
[+] [-] nathell|2 years ago|reply
Also:
[+] [-] 4ndrewl|2 years ago|reply
[+] [-] bombastry|2 years ago|reply
The page seems to return the same story each time you access it (at least on the same day). I'm not sure when they change from one story to another. The author has posted some of the other stories on other sites.[2][3][4][5] I still vividly recall reading this one in particular (although this reproduction is missing the bolding of the text in the second to last paragraph).[6]
[1] https://adultswim.com/404
[2] https://www.reddit.com/r/adultswim/comments/l48nii/the_sites...
[3] https://www.jchristopherarrison.com/crash
[4] https://www.jchristopherarrison.com/bar
[5] https://www.jchristopherarrison.com/departuredate
[6] https://www.reddit.com/r/adultswim/comments/9efd3s/adult_swi...
[+] [-] p1mrx|2 years ago|reply
[+] [-] ct0|2 years ago|reply
[+] [-] Nition|2 years ago|reply
[+] [-] unknown|2 years ago|reply
[deleted]
[+] [-] curious999|2 years ago|reply
[+] [-] paxys|2 years ago|reply
[+] [-] mgomez|2 years ago|reply
[+] [-] macintux|2 years ago|reply
[+] [-] Cloudef|2 years ago|reply
[+] [-] nerdjon|2 years ago|reply
Someone else mentioned Github which is always funny until you realized you followed a bad link to a repo you were looking for.
Thingiverse has a great one when you can force it to happen: https://www.thingiverse.com/nonexistant404page/designs
[+] [-] ss64|2 years ago|reply
[+] [-] lagniappe|2 years ago|reply
Does serving a 404 page still allow the response of 404 as the response code? or is it technically a 200 since it is serving the custom 404 page successfully?
[+] [-] bntyhntr|2 years ago|reply
The browser usually has no special handling for most response codes, so serving a 404 page with a 404 status code is fine/expected and lets things (browser, scraper, etc) respond appropriately. I don't think the browser treats it specially but if you were scraping, you'd obviously want to ignore that result.
It is frustrating to work with APIs that return something like 200 { meta: { status: 404 message: "field <x> not found" } }
and browsing is no different.
[+] [-] ss64|2 years ago|reply
If you happened to know that the page was www.ycombinator.com/error404.html Then you could load that page directly and it would return 200 OK
[+] [-] everfree|2 years ago|reply
Technically you could have a website where you serve real web pages full of content using the (wrong) 404 code, or serve web pages that tell the user "not found" using the (wrong) 200 code. It would massively mess up bots, search engines, browser extensions, and any other software that needs to know whether a page actually exists - but it would be fully browsable like normal by a human with a web browser, since humans don't see or read HTTP headers.
[+] [-] gwbas1c|2 years ago|reply
Basically: 404 tells crawlers that the URL is invalid.
The HTTP server also has to return something,. It could simply return 0-length content and allow the browser to show its error page, but that wouldn't be "on brand."
[+] [-] shrewm|2 years ago|reply
[+] [-] datascienced|2 years ago|reply
An example of where the browser might ignore the body is in a 301 redirect.
[+] [-] richardwhiuk|2 years ago|reply
By convention, if you don't return enough content, the browser will render it's own not found, but if you do it'll render it.
[+] [-] Climato|2 years ago|reply
Btw there is a status code 204 which means ok but no response body.
[+] [-] BlameKaneda|2 years ago|reply
https://www.youtube.com/watch?v=hRkJk303ppw
[+] [-] ninju|2 years ago|reply
[+] [-] elashri|2 years ago|reply
https://root.cern/404/
It is the error you wish was true in your life.
* Used as C++ interpreter with devilish syntax to help physicists do data analysis.
[+] [-] masswerk|2 years ago|reply
( There were several others over the years, here's the previous one: https://www.masswerk.at/status/?404 )
[+] [-] dkindler|2 years ago|reply
https://ibb.co/qkhjv9R
[+] [-] abhinavstarts|2 years ago|reply
[+] [-] nickt|2 years ago|reply
[1] https://worldofspectrum.org/404.html
[2] https://news.ycombinator.com/item?id=39870902
[+] [-] rob74|2 years ago|reply
(My browser window is one half of a 4K monitor, so the Spectrum screen is shown in "portrait mode")
[+] [-] dewey|2 years ago|reply
[+] [-] zote|2 years ago|reply
[+] [-] cratermoon|2 years ago|reply
The important thing was found later that day, in a very unlikely place.
YMMV.
[+] [-] AnimalMuppet|2 years ago|reply
[+] [-] ninju|2 years ago|reply
[+] [-] madsr|2 years ago|reply
[+] [-] imzadi|2 years ago|reply
http.cat is one of my favorite resources. I get to find out what the status code means and see a cute cat.
[+] [-] mooreds|2 years ago|reply
Darn storm troopers can't find a droid to save their life.