The Hyper Text Coffee Pot Control Protocol (HTCPCP) is a facetious communications protocol for controlling, monitoring, and diagnosing coffee pots. It is specified in RFC 2324, published on 1 April 1998 as an April Fools' Day RFC,[1] as part of an April Fools prank.[2] An extension is published as RFC 7168 on 1 April 2014[3] to support brewing teas, which is also an April Fools' Day RFC.
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."[4] 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 [sic] 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,[5] and a number of bug reports exist complaining about Mozilla’s lack of support for the protocol.[6] Ten years after the publication of HTCPCP, the Web-Controlled Coffee Consortium (WC3) published a first draft of "HTCPCP Vocabulary in RDF"[7] in parody of the World Wide Web Consortium's (W3C) "HTTP Vocabulary in RDF".[8]
On April 1, 2014, RFC 7168 extended HTCPCP to fully handle teapots.[3]
HTCPCP is an extension of HTTP. HTCPCP requests are identified with the URI schemecoffee: (or the corresponding word in any other of the 29 listed languages) and contain several additions to the HTTP methods:
BREW or POST
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.
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 that "In practice, most automated coffee pots cannot currently provide additions."