Let’s get the AMAs kicked off on Lemmy, shall we.

Almost ten years ago now, I wrote RFC 7168, “Hypertext Coffeepot Control Protocol for Tea Efflux Appliances” which extends HTCPCP to handle tea brewing. Both Coffeepot Control Protocol and the tea-brewing extension are joke Internet Standards, and were released on Apr 1st (1998 and 2014). You may be familiar with HTTP error 418, “I’m a teapot”; this comes from the 1998 standard.

I’m giving a talk on the history of HTTP and HTCPCP at the WeAreDevelopers World Congress in Berlin later this month, and I need an FAQ section; AMA about the Internet and HTTP. Let’s try this out!

  • boonhet@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    I have no questions, but I want to let people here know that there are two excellent websites related to this: http.cat and http.dog, for looking up HTTP status codes.

    For an example, if http.cat/418 doesn’t brighten your day, I don’t think there’s much that can.

      • boonhet@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        You’re welcome! I try to share this with people whenever I can, hoping that it makes someone’s day better. It certainly gives me a lot of joy when I can respond to something with a relevant http cat, though the few people I do it to might be getting a little annoyed.

  • Veraticus@lib.lgbt
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Congratulations on creating such a cool piece of Internet arcana!

    What do you think the silliest/most useless response status code is aside from 418?

    Were there any codes you wish had been included that haven’t been for some reason?

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I always rather enjoyed the double entendre of “420 Enhance Your Calm”, which was an unofficial response from Twitter’s original API before “429 Too Many Requests” was standardized.

      But I can’t think of any codes which aren’t already in there, that I’d use; there are a bunch that don’t see much use, like “410 Gone”, so the list could do with trimming down if anything.

  • Rikudou_Sage@lemmings.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Not a question, but we use 418 in production! We have a nginx router that routes pages based on its path to either old frontend or new frontend. I wanted some easy way to handle the routing (and to not repeat myself), so I set the new frontend as a handler for 418 error and then just return 418 in the nginx for any page I want on new UI. I chose 418 because the others could be actually used by the old frontend and it could get all weird.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      This is actually a good use of 418 in production, and one I’ve come across before: if you need to perform some custom handling and throwing a HTTP error is the only sensible way to do it, 418 is always available.

      Unless your server really is a coffeepot, which is …unlikely.

  • ColdPints@infosec.pub
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    What’s the process for submitting RFCs? And how do they pick which joke RFC they’ll publish? That’s a meeting I’d like to be a fly on the wall of

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      For “real” RFCs that aren’t Apr 1st jokes, there’s an independent submissions track for the public to write Internet-Drafts and then submit them into the review process.

      With the joke RFCs, they get emailed straight to the editor at least two weeks beforehand. I’m not privy to the selection meeting, but I expect it’s fun.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      That’s actually the topic of the talk! Around 1995-96, HTTP was picking up all kinds of use outside the academic community, and people were tacking extensions on left and right; one of the biggest was file upload support, which was done by throwing HTTP and email into a room and having them fight it out. Which is how we ended up with the monstrosity that is “sending emails over HTTP”, also known as “posting a form”.

      The author of HTCPCP decided to codify some of his concerns with these, partly as a joke; I noticed long afterward that his joke was only standardized for coffee, which Personally Offended me as a citizen of a tea-drinking nation.

  • z3rOR0ne@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I just found out about this on Brodie Robertson’s yt channel! I am not a teapot btw!!

  • fidodo@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    We’re there any early internet standards you were super bullish on at the time that didn’t get picked up? In retrospect, if it had been adopted do you think it would have had the impact you were hoping for

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      That’s a tough one: most standards are codified as such because they’re already seeing wide use. The major example of one that’s been worked the other way around is IPv6: it’s been a standard for a very long time, and still doesn’t seem to be seeing adoption.

      Of course, I wouldn’t say I was bullish on IPv6. 32 bits is enough for anyone, right.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      There are joke RFCs almost every year, so it’s not unprecedented to add to the standards. This year, one of the additions was a Death Flag to TCP, to indicate when a connection is about to terminate. The RFC Editors are very approachable when it comes to the Apr 1st RFCs: a “real” standard would need to be drafted by someone actually in the field, but the Apr 1st’s are open to public submissions as long as you’re willing to redraft/edit in accordance with the documentation standards.

      It’s worth noting that the Clacks header is an unofficial campaign, and hasn’t been standardised; the 'Pedia states that some 84,000 sites return X-Clacks-Overhead, and my own is one.

  • kromem@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    What’s the funniest legitimate non-joke standardization detail you’ve come across?

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I enjoy that the original draft for the Referer header spelled it wrong, and now we’re all stuck with the typo forever…

      • qwop@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I’d be happy if we’d just accepted “referer” as the correct spelling for everything, but instead we have the “Referrer-Policy” header, so now I need to check the correct spelling for anything involving referring…

        I do sort of like the idea that because we want to keep backwards compatibility on software we just change the language instead since that’s easier.

      • SpinDrift@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Can someone elaborate on this please?

        Edit: oh jeez. I’m so used to reading “referer” I didn’t even realize it was a typo.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I don’t think the extra address space of IPv6 is the problem holding back its adoption, so “IPv4 with another octet” would likely run into the same issues.

      Not that it’s a bad idea, it’s just an idea that’s unlikely to catch on.

        • Two9A@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          The biggest problem IPv6 has is that IPv4 has been so hugely successful: gargantuan resources have been poured into getting the world connected on IPv4, and the routers/etc deployed in the field (especially in sub-Saharan Africa, south Asia, and other places which got the Internet late) are built around version 4: data paths 32 bits wide, ASICs and firmware developed with 4-byte offsets, and so on.

          It’s a big effort, and more importantly an expensive effort, to move all that infrastructure over for what the end user perceives as no benefit: their websites load just the same as before.

            • Two9A@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              Essentially. If the end user is being asked to make a financial outlay to get to the same things they did before, it’s unlikely that will go down well.

  • Clav64@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I loved sharing this with my senior who hadn’t seen it before, and it gave our small team a Ggod chuckle one afternoon. Thanks for your creation.

    With the absence of a crystal ball, but with excellent inner knowledge, what future standards could you see being implemented in the next 10 years for internet?

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      As it turns out, one of the Apr 1st RFCs for this year covers AI Sarcasm Detection, but I can see more serious protocols arising for the transfer of AI model data and/or training procedures in the coming years.

      I’d also hope ActivityPub reaches Internet Standard level, though it may fall outside the IETF’s scope of operations.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      My endorsement is at the bottom of that page, in fact. I wasn’t an active campaigner, but a word in favor was the least I could do.

      • Deebster@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Oops, RTFM. Well, thanks for fighting the good fight with the power of your reputation.

  • Fenzik@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    What’s the most impactful 418-related incident you’ve witnessed? I remember a few years ago npm went down and was returning 418 which spawned jokes and chaos across the web

      • Maiznieks@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I know russian a bit and jargon for russian word “teapot” is also commonly used as “dummy” or “novice”. 418 for foreigners might have been on purpose there which brings Your April’s fool joke to a nation wide level :)

      • body_by_make@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Yeah, I’ve seen people refer to this as the “fuck off” of response codes, especially during that incident. How does that make you feel?

        • Two9A@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          It’s not up to Mr Masinter or myself to police the usage of anything defined in the standard; if people feel like being assholes regarding the issuance of 418 errors, at least they’re being whimsical assholes.

          Could be worse; could be 200 with an error message inside, negating the entire point of error codes. I see that all the time.

          • ShunkW@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            When I was fixing up a legacy API app at an old job, I realized they did exactly that. I cleared it with my boss and started fixing up our error codes - pretty much all 401, 403, and 422. This blew up an integration with another app that literally threw exceptions on those codes rather than handling them. I died inside as it was my first software dev job. My first rollback of a change as well.