Hyper Text Coffee Pot Control Protocol: Difference between revisions
DavidWBrooks (talk | contribs) expand a little more - which makes me confident enough to remove the hatnotes (if others disagree, please return them) |
-deleted file File:Netbook glued to a teapot.png (f…ing bureaucrats) |
||
Line 1: | Line 1: | ||
⚫ | The '''Hyper Text Coffee Pot Control Protocol''' ('''HTCPCP''' for short) is a [[communications protocol]] for controlling, monitoring, and diagnosing [[coffee pot]]s. It is specified in [[Request for Comments|RFC]] 2324, published on [[April Fools' Day Request for Comments|1 April]] 1998<ref>[http://tools.ietf.org/html/rfc2324 Network Working Group – Request for Comments: 2324]</ref> as part of an April Fools prank.<ref name="DeNardis2009">{{cite book|author=Laura DeNardis|title=Protocol Politics: The Globalization of Internet Governance|url=http://books.google.com/books?id=Secqz0XQJIsC&pg=PA27|accessdate=8 May 2012|date=30 September 2009|publisher=MIT Press|isbn=978-0-262-04257-4|pages=27–}}</ref> 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." |
||
[[File:Netbook glued to a teapot.png|thumb|Server at http://134.219.188.123/, which implements the protocol]] |
|||
⚫ | The '''Hyper Text Coffee Pot Control Protocol''' ('''HTCPCP''' for short) is a [[ |
||
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,<ref>[http://emarsden.chez.com/downloads/ Emacs extension: coffee.el]</ref> and a number of bug reports exist complaining about [[Mozilla|Mozilla's]] lack of support for the protocol.<ref>[https://bugzilla.mozilla.org/show_bug.cgi?id=46647 Bug 46647 – (coffeehandler) HTCPCP not supported (RFC2324)] at bugzilla.mozilla.org</ref> Ten years after the publication of HTCPCP, the Web-Controlled Coffee Consortium (WC3) published a first draft of "HTCPCP Vocabulary in [[Resource Description Framework|RDF]]"<ref>Chief Arabica (Web-Controlled Coffee Consortium): [http://purl.org/NET/error404/xp/HTCPCP-in-RDF/ HTCPCP Vocabulary in RDF – WC3 RFC Draft 01 April 2008]. Accessed 17 August 2009.</ref> in analogy of the [[World Wide Web Consortium]]'s (W3C) "HTTP Vocabulary in RDF".<ref>Johannes Koch et al (editors): "[http://www.w3.org/TR/HTTP-in-RDF/ HTTP Vocabulary in RDF]". Accessed 17 August 2009.</ref> |
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,<ref>[http://emarsden.chez.com/downloads/ Emacs extension: coffee.el]</ref> and a number of bug reports exist complaining about [[Mozilla|Mozilla's]] lack of support for the protocol.<ref>[https://bugzilla.mozilla.org/show_bug.cgi?id=46647 Bug 46647 – (coffeehandler) HTCPCP not supported (RFC2324)] at bugzilla.mozilla.org</ref> Ten years after the publication of HTCPCP, the Web-Controlled Coffee Consortium (WC3) published a first draft of "HTCPCP Vocabulary in [[Resource Description Framework|RDF]]"<ref>Chief Arabica (Web-Controlled Coffee Consortium): [http://purl.org/NET/error404/xp/HTCPCP-in-RDF/ HTCPCP Vocabulary in RDF – WC3 RFC Draft 01 April 2008]. Accessed 17 August 2009.</ref> in analogy of the [[World Wide Web Consortium]]'s (W3C) "HTTP Vocabulary in RDF".<ref>Johannes Koch et al (editors): "[http://www.w3.org/TR/HTTP-in-RDF/ HTTP Vocabulary in RDF]". Accessed 17 August 2009.</ref> |
||
==Commands and replies== |
==Commands and replies== |
||
HTCPCP is an extension of [[Hypertext Transfer Protocol|HTTP]]. HTCPCP requests are identified with the [[ |
HTCPCP is an extension of [[Hypertext Transfer Protocol|HTTP]]. HTCPCP requests are identified with the [[URI scheme]] <code>coffee:</code> (or the corresponding word in any other of the 29 listed languages) and contain several additions to the HTTP methods: |
||
{| |
{| |
||
|width="150px" valign=top|<code>BREW</code> or <code>POST</code>||Causes the HTCPCP server to brew [[coffee]]. |
|width="150px" valign=top|<code>BREW</code> or <code>POST</code>||Causes the HTCPCP server to brew [[coffee]]. |
||
Line 21: | Line 19: | ||
|width="150px" valign=top|<code>406 Not Acceptable</code>||The HTCPCP server is unable to brew coffee for some reason; the response should indicate a list of acceptable coffee types. |
|width="150px" valign=top|<code>406 Not Acceptable</code>||The HTCPCP server is unable to brew coffee for some reason; the response should indicate a list of acceptable coffee types. |
||
|- valign=top |
|- valign=top |
||
|<code>418 I'm a teapot</code>||The HTCPCP server is a [[teapot]]; the resulting entity may be [[I'm a Little Teapot|short and stout]]. Demonstrations of this behaviour exist.<ref>[http://www.bbc.co.uk/cbeebies/418 |
|<code>418 I'm a teapot</code>||The HTCPCP server is a [[teapot]]; the resulting entity may be [[I'm a Little Teapot|short and stout]]. Demonstrations of this behaviour exist.<ref>[http://www.bbc.co.uk/cbeebies/418 Illustrated implementation of Error 418 on BBC CBeebies]</ref><ref>[http://www.cs.rhul.ac.uk/home/joseph/teapot.html Illustrated implementation of Error 418]</ref><ref>[http://134.219.188.123/ Plain implementation of Error 418]</ref> |
||
|} |
|} |
||
Line 31: | Line 29: | ||
{{Reflist}} |
{{Reflist}} |
||
{{IETF RFC 1st april}} |
|||
{{URI scheme}} |
{{URI scheme}} |
||
Revision as of 01:00, 17 May 2012
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
- ^ Network Working Group – Request for Comments: 2324
- ^ Laura 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.
- ^ Emacs extension: coffee.el
- ^ Bug 46647 – (coffeehandler) HTCPCP not supported (RFC2324) at bugzilla.mozilla.org
- ^ Chief Arabica (Web-Controlled Coffee Consortium): HTCPCP Vocabulary in RDF – WC3 RFC Draft 01 April 2008. Accessed 17 August 2009.
- ^ Johannes Koch et al (editors): "HTTP Vocabulary in RDF". Accessed 17 August 2009.
- ^ Illustrated implementation of Error 418 on BBC CBeebies
- ^ Illustrated implementation of Error 418
- ^ Plain implementation of Error 418