I unironically use this website everytime I forget a status code at work. The name is instantly memorable, it loads immediately, and I can ctrl-f it. It's basically muscle memory at this point.
A shout out to Tomomi Imura, because HTTP Status Cats was her idea and I just made the images available through an API.
It's crazy to think that since 2010 this still pops up on the HN front page from time to time. Thank you for that!
http.cat is a testament of how simple, fun and silly the internet was back then. I'll try to keep it online for as long as I can.
I love reading the stories you all share online about it, they fuel my motivation to keep it up and I'm always open to feedback and new ideas. So feel free to share them here or on the github repo.
I used to have a middleware that replaced generic http error responses with http.cat pics. One time a VIP somehow got into a URL that returned http 400 response on the website and got mad.
I ended up getting a call to explain why the website is showing middle finger to our VIP customer.
> Administered by the non-profit Fundació puntCAT under the oversight of ICANN, registrations are available only to individuals and organizations demonstrating use or promotion of the Catalan language and culture.
As far as I can tell, there is no rule requiring this wiki to be kept up to date (it's not run by ICANN, though they sponsor it), but I've had good luck with it. The wiki is updated fairly frequently: https://icannwiki.org/Special:RecentChanges . I wasn't able to find a list that proves it covers every TLD but there are about 9x as many articles as TLDs, so I think it's likely. Someone with better MediaWiki chops could probably figure it out. I think that information is there I just don't know how to access it.
There are 316 ccTLDs. So; it's either missing 2, or they are documented but not in the right category.
If you're looking for an authoritative source I think you should check out the PSL, but it doesn't have the right metadata to answer your question. You'd need to supplement it somehow.
Imho it's pretty messed up that their translation tool doesn't actually translate the page and only translates one element. For the most part the site is a lark and the text unimportant. But the banner disclaiming any affiliation with any meme coin really ought to be translated.
The funny thing is that upon registration of a .cat domain you are required to acknowledge that your website is not related to cats at all. So those domains are, in theory, not in compliance.
I still do this day mourn the old httpstatus.io or whatever it was domain that got acquired a few years back and became completely useless. This one endures and I love it. This one stays bookmarked but at least the MDN page on status codes now pops up as the first useful link when you search for "http status codes"
Couple of years ago I worked as a full stack web dev for a electronics distributor.
At that time we had a couple of DB problems, it would get overwhelmed, shit itself and our page would show an error. I found some time and, instead of fixing the error (duh ;P), I downloaded around 20-30 funny cat gifs, assigned each a funny caption and modified the error page so that each would show randomly.
Next time the DB shit itself, the error page showed up and the cats wrought refresh chaos upon Apache but it took it in stride since the error page was mostly static.
Everyone was delighted but after around 15 minutes I got a call from sales asking my to take the cats down. „It’s not very businessy, take it down!”. „The site is down either way, would you rather our clients stare at a dry message or something funny?”. „Dry message! Take it down”. „No” and I hung up. So proud of myself that I stood up to them. I think the cats are still up to this day ;)
The point of this story is that http.cat made me think of those cat pages, thanks!
I’ve used this site every time I’m doing http networking stuff for the past few years. It’s so easy to just go to http.cat/303 to check a status code you don’t know, or to scroll down the homepage to find the number you need for a specific response.
The cats make it much more fun than a regular docs page, whilst still being a useful quick reference. I wonder if other bits of reference information could be made more interesting in this way.
Only feedback I have is when I click into an image then hit back, it brings me to the top of the page which is kind of annoying. I wish it held my place.
Your browser (if you're using one of the "usual ones") doesn't really do much with the response's status code if it doesn't match a few specific ones for redirecting/caching/protocol shenanigans.
Anything in the 4XX range is going to be treated as just a regular ol' response, just like 404. (You could serve an entire site with all responses set to status=404, and be fine... other than probably never getting any cache hits) If you don't include a body in the response, the browser might sub in it's own error page, but it will just communicate that the user agent made a bad request.
204 has weird behavior in Safari and Firefox for example. Entering a URL returning 204 in the URL bar will not change the URL bar to it, leaving its contents to whatever was there before. Similarly if you click on it it would not actually navigate to the page.
I've seen sites that use unexpected HTTP response codes, I think to try to defeat bots. The front page would return a 503 Service Unavailable, but the body was just normal content that would load a bot detection script and then redirect you to the actual content.
I successfully wrote a bot that would bypass it all, but it was weird, and became a slight challenge since I couldn't rely on response codes to determine if I succeeded. When I solved the challenge, it would return a 400 Bad Request while serving me the content I was looking for.
Once upon a time, Internet Explorer used to substitute its own error pages if the body of the error response was too short for its liking. Those depended on whcih error code it got. (I expect nobody has used an old enough IE to see those pages for at least a decade.)
That said, at least they have a broad cipher set support and their HTTPS-only implemetation does work in older browsers and systems. That's nice. But HTTP+HTTPS would be better.
I unironically use this website everytime I forget a status code at work. The name is instantly memorable, it loads immediately, and I can ctrl-f it. It's basically muscle memory at this point.
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes is a bit more practical
Yes, but opening that and searching for "411" is much slower than just typing "http.cat/411" into the URL bar
Also relieves a stress a bit with a funny cat photo. There's also http.dog to the same effect.
Same - most of the time I just directly open the specific status (e.g https://http.cat/504 )
I always post a cat from it whenever I need to specify a response code in an issue ;)
Same. I know and see several of the codes all the time. But occasionally I encounter a weird one and I always go to http.cat to find out what it is.
i still don't understand 409 errors. saw one for the first time a few weeks ago
Key violation in your database? Can't insert the record because the key already exists? Thus conflict
Ahaha same.
http.cat author here.
A shout out to Tomomi Imura, because HTTP Status Cats was her idea and I just made the images available through an API.
It's crazy to think that since 2010 this still pops up on the HN front page from time to time. Thank you for that!
http.cat is a testament of how simple, fun and silly the internet was back then. I'll try to keep it online for as long as I can.
I love reading the stories you all share online about it, they fuel my motivation to keep it up and I'm always open to feedback and new ideas. So feel free to share them here or on the github repo.
Cheers!
I discovered it today and I'm in love! Thank you for maintaining a piece of simple joy for more than a decade <3
I used to have a middleware that replaced generic http error responses with http.cat pics. One time a VIP somehow got into a URL that returned http 400 response on the website and got mad.
I ended up getting a call to explain why the website is showing middle finger to our VIP customer.
still, probably better than a 450 error, at least
I love how there is a Catalan version too! I guess it’s probably a requirement for getting the .cat domain.
https://icannwiki.org/.cat
> Administered by the non-profit Fundació puntCAT under the oversight of ICANN, registrations are available only to individuals and organizations demonstrating use or promotion of the Catalan language and culture.
Is that available for every country root server?
As far as I can tell, there is no rule requiring this wiki to be kept up to date (it's not run by ICANN, though they sponsor it), but I've had good luck with it. The wiki is updated fairly frequently: https://icannwiki.org/Special:RecentChanges . I wasn't able to find a list that proves it covers every TLD but there are about 9x as many articles as TLDs, so I think it's likely. Someone with better MediaWiki chops could probably figure it out. I think that information is there I just don't know how to access it.
ETA: This category lists 314 ccTLDs.
https://icannwiki.org/Category:CcTLD
There are 316 ccTLDs. So; it's either missing 2, or they are documented but not in the right category.
If you're looking for an authoritative source I think you should check out the PSL, but it doesn't have the right metadata to answer your question. You'd need to supplement it somehow.
https://publicsuffix.org/
Does look to be the case.
nyan.cat has a language picker that includes Catalan, even though it just changes the page title.
Imho it's pretty messed up that their translation tool doesn't actually translate the page and only translates one element. For the most part the site is a lark and the text unimportant. But the banner disclaiming any affiliation with any meme coin really ought to be translated.
I used to own long.cat and I never bothered
The funny thing is that upon registration of a .cat domain you are required to acknowledge that your website is not related to cats at all. So those domains are, in theory, not in compliance.
But what if it's a Catalan cat charity?
https://http.cat/ca
Previous discussions:
https://news.ycombinator.com/item?id=37735614 (2023)
https://news.ycombinator.com/item?id=31438989 (2022)
https://news.ycombinator.com/item?id=20283794 (2019)
https://news.ycombinator.com/item?id=10161323 (2015)
There is also https://http.dog/
Worth noting that http.dog includes 218 This is Fine, which is an Apache-specific response code.
It does not, however, use a cartoon dog in a room on fire.
I still do this day mourn the old httpstatus.io or whatever it was domain that got acquired a few years back and became completely useless. This one endures and I love it. This one stays bookmarked but at least the MDN page on status codes now pops up as the first useful link when you search for "http status codes"
httpstatus.io is actually a good tool that I've been using for over 3 years now so I think it isn't that domain that got acquired?
Couple of years ago I worked as a full stack web dev for a electronics distributor.
At that time we had a couple of DB problems, it would get overwhelmed, shit itself and our page would show an error. I found some time and, instead of fixing the error (duh ;P), I downloaded around 20-30 funny cat gifs, assigned each a funny caption and modified the error page so that each would show randomly.
Next time the DB shit itself, the error page showed up and the cats wrought refresh chaos upon Apache but it took it in stride since the error page was mostly static.
Everyone was delighted but after around 15 minutes I got a call from sales asking my to take the cats down. „It’s not very businessy, take it down!”. „The site is down either way, would you rather our clients stare at a dry message or something funny?”. „Dry message! Take it down”. „No” and I hung up. So proud of myself that I stood up to them. I think the cats are still up to this day ;)
The point of this story is that http.cat made me think of those cat pages, thanks!
I’ve used this site every time I’m doing http networking stuff for the past few years. It’s so easy to just go to http.cat/303 to check a status code you don’t know, or to scroll down the homepage to find the number you need for a specific response.
The cats make it much more fun than a regular docs page, whilst still being a useful quick reference. I wonder if other bits of reference information could be made more interesting in this way.
https://www.keanu.codes/
404 should have been the cat footprints in the concrete but without the cat.
Actually, that would be “401 Gone”. :-)
I used similar idea in an app a while back:
https://github.com/tantalor/emend/blob/master/app/static/ima...
Still gives me a chuckle
There's an alternative[0] for the canine lovers.
[0]: https://httpstatusdogs.com
Or the shorter https://http.dog
I prefer https://HTTPStatusDogs.com
Love http and love cats
Love it.
Only feedback I have is when I click into an image then hit back, it brings me to the top of the page which is kind of annoying. I wish it held my place.
Thanks for the feedback. I'm going to fix that.
Issue created: https://github.com/httpcats/http.cat/issues/258
Is the picture for 303 meant to be the device from Heisenberg’s thought experiment?
I was wondering the same thing.
Illustrating "451 Unavailable For Legal Reasons" with Ray Bradbury made me laugh
Why is the quality of the pictures so low?
Because this website has been around for a long time and pictures didn't used to be so big
every once in a while i use this! it's so easy to memorize this domain
Do any browsers recognize a 420 response code?
Your browser (if you're using one of the "usual ones") doesn't really do much with the response's status code if it doesn't match a few specific ones for redirecting/caching/protocol shenanigans.
Anything in the 4XX range is going to be treated as just a regular ol' response, just like 404. (You could serve an entire site with all responses set to status=404, and be fine... other than probably never getting any cache hits) If you don't include a body in the response, the browser might sub in it's own error page, but it will just communicate that the user agent made a bad request.
204 has weird behavior in Safari and Firefox for example. Entering a URL returning 204 in the URL bar will not change the URL bar to it, leaving its contents to whatever was there before. Similarly if you click on it it would not actually navigate to the page.
URL to test: https://httpbin.org/status/204
I've seen sites that use unexpected HTTP response codes, I think to try to defeat bots. The front page would return a 503 Service Unavailable, but the body was just normal content that would load a bot detection script and then redirect you to the actual content.
I successfully wrote a bot that would bypass it all, but it was weird, and became a slight challenge since I couldn't rely on response codes to determine if I succeeded. When I solved the challenge, it would return a 400 Bad Request while serving me the content I was looking for.
Once upon a time, Internet Explorer used to substitute its own error pages if the body of the error response was too short for its liking. Those depended on whcih error code it got. (I expect nobody has used an old enough IE to see those pages for at least a decade.)
Not to be confused with Cat as a Service - https://cataas.com/
This is a great idea. Love it!
I don't get why this picture for HTTP 497.
I'm partial to http.dog
https://http.dog/
Haha made my day
Now this is what the internet was made for
This is hilarious
This is fun because it’s pre-AI and most of the pics are real. Doing this nowadays would be a meh.
599 is good for any error.
Nginx makin' up status codes...
Came for 418. Left happy for Caturday.
(Every web site I've built in the last ten years has a series of conditions that combined will trigger a 418.)
450 gave me good chuckle
this is exactly what I was looking for!
glad you got the teapot
Wo makes this with babies?
HTTP 000: HTTP not found. HTTPS CA TLS only.
That said, at least they have a broad cipher set support and their HTTPS-only implemetation does work in older browsers and systems. That's nice. But HTTP+HTTPS would be better.