HTTP Cats

  • Slightly superior version: https://http.dog/

  • I don’t know what is says about me as a software engineer, but that site is the first place I visit to look up more obscure statuses.

  • Reminds me of my most customer-visible screwup.

    - Implement rate limiting on a site to deal with scrapers

    - Include the https://http.cat/429 in the template for 429 responses.

    - Time passes

    - Implement API for displaying an information widget in customer company’s own website (big pharma regent suppliers), content get injected as an iframe loaded from our site.

    - Customer employees all visit their own website from behind a reverse proxy with the same IP, trigger the (poorly configured) rate limiting

    - Panicky customer contact: “Why is your widget displaying cat pictures on our website and could you please stop it right now”

    This now forms a key foundation in my “no whimsy in code” rule along with one or two near misses with dummy data/content.

  • Related:

    HTTP Cats - https://news.ycombinator.com/item?id=20283794 - June 2019 (74 comments)

  • Not saying I’d ever actually use this (though also not saying I wouldn’t lol), but what is the best practice for using external sources like this?

    When using something like Unsplash I know they’ve got lots of resources and a good setup so calling out to their API seems safe enough.

    But for a random service like this, I have no idea if they have the infrastructure to support a lot of calls. I don’t want to abuse a random service.

    In this case I assume it is all behind a cdn and it’s no big deal for them.

    But if you’re not sure and it turns out to be an important part of what you’re building, do you just setup your own cached version using varnish or something?

  • These all return 200s for me. Or am I missing the joke?

  • The guy in 451 is noted cat fancier Ray Bradbury. I couldn't find the cat's name.

  • I started by scrolling straight to 418, to see how they handled that one.

  • This is something like 10 years old.

    Some previous discussion:

    3 years ago https://news.ycombinator.com/item?id=20283794

  • I hope this app is catainerized

  • I've had an idea for a Python web app framework (because that's what Python needs, another web framework), maybe I'll have a "use_cats" option to automatically use these with status codes.

  • this reminds me of http://placekitten.com, the most useful URL for placeholder images ever: placekitten.com/<width>/<height> (e.g. http://placekitten.com/640/480).

  • Given the precedent of netcat, I wasn't sure whether to expect the animal or the tool.

    414 definitely brought back some memories...

  • Thank you. I am finally empowered to build the API I've been planning to build for years!

  • I don't get the cat for HTTP 308. (The rest are hilarious.)

  • I wish the response status actually matched the request

  • My fave is 406.

  • TIL HTTP code 420 is a thing.

  • is there a way to auto filter a domain extensions by popularity? e.g. a way to discover http.dog and others. Unfortunately http.human does not exist

  • this is pushing the boundaries of pedagogy