Hyper Text Coffee Pot Control Protocol
RFC 2324 was written by Larry Masinter, who describes it as a satire, saying "This has a serious purpose – it identifies many of the ways in which HTTP has been extended inappropriately." The wording of the protocol made it clear that it was not entirely serious; for example, it notes that "there is a strong, dark, rich requirement for a protocol designed espressoly for the brewing of coffee". Despite the joking nature of its origins, or perhaps because of it, the protocol has remained as a minor presence online. The editor Emacs includes a fully functional client side implementation of it, and a number of bug reports exist complaining about Mozilla's lack of support for the protocol. Ten years after the publication of HTCPCP, the "Web-Controlled Coffee Consortium" ("WC3") published a first draft of "HTCPCP Vocabulary in RDF" in parody of the World Wide Web Consortium's (W3C) "HTTP Vocabulary in RDF".
On April 1, 2014, RFC 7168 extended HTCPCP to fully handle teapots. HTCPCP is an extension of HTTP. HTCPCP requests are identified with the Uniform Resource Identifier (URI) scheme coffee (or the corresponding word in any other of the 29 listed languages) and contain several additions to the HTTP methods:
It also defines two error responses: On 5 August 2017, Mark Nottingham, chairman of the IETF HTTPBIS Working Group, called for the removal of status code 418 "I'm a teapot" from the Node.js platform, a code implemented in reference to the original 418 "I'm a teapot" established in Hyper Text Coffee Pot Control Protocol. On 6 August 2017, Nottingham requested that references to 418 "I'm a teapot" be removed from the programming language Go and subsequently from Python's Requests and ASP.NET's HttpAbstractions library as well. In response, 15-year-old developer Shane Brunswick created a website, save418.com, and established the "Save 418 Movement", asserting that references to 418 "I'm a teapot" in different projects serve as "a reminder that the underlying processes of computers are still made by humans". Brunswick's site went viral in the hours following its publishing, garnering thousands of upvotes on the social platform Reddit, and causing the mass adoption of the "#save418" Twitter hashtag he introduced on his site. Heeding the public outcry, Node.js, Go, Python's Requests, and ASP.NET's HttpAbstractions library decided against removing 418 "I'm a teapot" from their respective projects. The unanimous support from the aforementioned projects and the general public prompted Nottingham to begin the process of having 418 marked as a reserved HTTP status code, ensuring that 418 will not be replaced by an official status code for the foreseeable future. On 5 October 2020, Python 3.9 released with an updated http library including 418 IM_A_TEAPOT status code. In the corresponding pull request, the Save 418 movement was directly cited in support of adoption. Around the time of the 2021-2022 Russo-Ukrainian crisis, the Russian military website mil.ru returned the HTTP 418 status code when accessed from outside of Russia as a DDoS attack protection measure. The change was first noticed in December of 2021.
Protocol
An extension, HTCPCP-TEA, was published as RFC 7168 on 1 April 2014 to support brewing teas, which is also an April Fools' Day RFC.