Hyper Text Coffee Pot Control Protocol

The Hyper Text Coffee Pot Control Protocol (HTCPCP for short) is a communications protocol for controlling, monitoring, and diagnosing coffee pots. It is specified in RFC 2324, published on 1 April 1998[1] as part of an April Fools prank.[2] The wording of the protocol made it clear that it wasn't entirely serious; noting, for example, "there is a strong, dark, rich requirement for a protocol designed espressoly [sic] for the brewing of coffee" that included a pun on the word "espresso."

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

Commands and replies

HTCPCP is an extension of HTTP. HTCPCP requests are identified with the URI scheme coffee: (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.
GET Retrieves coffee from the HTCPCP server.
PROPFIND Finds out metadata about the coffee.
WHEN Says "when", causing the HTCPCP server to stop pouring milk into the coffee (if applicable).

It also defines two error responses:

406 Not Acceptable The HTCPCP server is unable to brew coffee for some reason; the response should indicate a list of acceptable coffee types.
418 I'm a teapot The HTCPCP server is a teapot; the resulting entity may be short and stout. Demonstrations of this behaviour exist.[7][8][9]

See also

References