Hyper Text Coffee Pot Control Protocol

sans_souse2 pts0 comments

Hyper Text Coffee Pot Control Protocol - Wikipedia

Jump to content

Search

Search

Donate

Create account

Log in

Personal tools

Donate

Create account

Log in

Hyper Text Coffee Pot Control Protocol

18 languages

Deutsch<br>Español<br>فارسی<br>Suomi<br>Français<br>עברית<br>Italiano<br>日本語<br>La .lojban.<br>한국어<br>Nederlands<br>Polski<br>Русский<br>Sardu<br>Українська<br>吴语<br>粵語<br>中文

Edit links

From Wikipedia, the free encyclopedia

April Fool's joke about facetious communications protocol

Hyper Text Coffee Pot Control ProtocolBack-end infrastructure of error418.net, which implements HTCPCP using a teapot and Raspberry Pi<br>International standardInternet Engineering Task ForceDeveloped byLarry MasinterIntroducedApril 1, 1998 (1998-04-01)Websiterfc2324<br>Working teapot implementing HTCPCP[1]<br>The Hyper Text Coffee Pot Control Protocol (HTCPCP ) is a facetious communication protocol for controlling, monitoring, and diagnosing coffee pots. As part of Internet Engineering Task Force's Request for Comments, RFC 2324 is published on 1 April 1998 as an April Fools' Day RFC,[2] as part of an April Fools prank.[3] An extension, HTCPCP-TEA, was published as RFC 7168 on 1 April 2014[4] to support brewing teas, also as an April Fools' Day RFC in error 418.

Protocol<br>[edit]

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."[5] 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,[6] and a number of bug reports exist complaining about Mozilla's lack of support for the protocol.[7] Ten years after the publication of HTCPCP, the Web-Controlled Coffee Consortium (WC3) published a first draft of "HTCPCP Vocabulary in RDF"[8] in parody of the World Wide Web Consortium (W3C)'s "HTTP Vocabulary in RDF".[9]

On April 1, 2014, RFC 7168 extended HTCPCP to fully handle teapots.[4]

Commands and replies<br>[edit]

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:

Method<br>Definition

BREW or POST<br>Causes the HTCPCP server to brew coffee. Using POST for this purpose is deprecated. A new HTTP request header field, "Accept-Additions", is proposed, supporting optional additions including Cream, Whole-milk, Vanilla, Raspberry, Whisky, Aquavit, etc.

GET<br>"Retrieves" coffee from the HTCPCP server.

PROPFIND<br>Returns metadata about the coffee.

WHEN<br>Says "when", causing the HTCPCP server to stop pouring milk into the coffee (if applicable).

It also defines three error responses:

Status code<br>Definition

406 Not Acceptable<br>The HTCPCP server is unable to provide the requested addition for some reason; the response should indicate a list of available additions. The RFC observes, "In practice, most automated coffee pots cannot currently provide additions."

418 I'm a teapot<br>The HTCPCP server is a teapot but was requested to brew coffee. The resulting entity body "may be short and stout" (a reference to the song "I'm a Little Teapot"). Demonstrations of this behaviour exist.[1][10]

503 Service Unavailable<br>According to Mozilla Developer Documentation, "A combined coffee/tea pot that is temporarily out of coffee should instead return 503", when requested to brew.[11]

Save 418 movement<br>[edit]

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.[12] On 6 August 2017, Nottingham requested that references to 418 "I'm a teapot" be removed from the programming language Go[13] and subsequently from Python's Requests[14] and ASP.NET's HttpAbstractions library[15] as well.

In response, 15-year-old developer Shane Brunswick created a website, save418.com,[16] 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,[17] 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...

coffee htcpcp protocol teapot from april

Related Articles