Hyper Text Coffee Pot Control Protocol

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 189.61.91.65 (talk) at 13:10, 11 August 2012 (Hyperlink markup fix.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A server at http://134.219.188.123/, which implements the 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]

The possibility and practicality of the HTCPCP and coffee pots implementing it are now rising back into the notice of the industry, as the Internet of Things rose into fame.

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]

See also

References

  1. ^ "Request for Comments 2324", Network Working Group, IETF.
  2. ^ DeNardis (30 September 2009). Protocol Politics: The Globalization of Internet Governance. MIT Press. pp. 27–. ISBN 978-0-262-04257-4. Retrieved 8 May 2012. {{cite book}}: Unknown parameter |firast= ignored (help)
  3. ^ "Emacs extension: coffee.el", Emarsden, Chez.
  4. ^ "Bug 46647 – (coffeehandler) HTCPCP not supported (RFC2324)", Bugzilla, Mozilla.
  5. ^ HTCPCP Vocabulary in RDF – WC3 RFC Draft, Chief Arabica (Web-Controlled Coffee Consortium, 1 April 2008, retrieved 17 August 2009.
  6. ^ Koch, Johannes (ed.), HTTP Vocabulary in RDF, et al, W3, retrieved 17 August 2009.
  7. ^ Illustrated implementation of Error 418
  8. ^ Plain implementation of Error 418