Hyper Text Coffee Pot Control Protocol: Difference between revisions
m this is only a client side implementation ... are there any server side ones? |
→Protocol: grammar, formal style |
||
Line 4: | Line 4: | ||
==Protocol== |
==Protocol== |
||
[[Request for Comments|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."<ref>{{cite web | url = http://larry.masinter.net | author = Larry Masinter | title = IETF RFCs | archiveurl = http://www.webcitation.org/6FnFZK9LU | archivedate = 2013-04-11}}</ref> The wording of the protocol made it clear that it |
[[Request for Comments|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."<ref>{{cite web | url = http://larry.masinter.net | author = Larry Masinter | title = IETF RFCs | archiveurl = http://www.webcitation.org/6FnFZK9LU | archivedate = 2013-04-11}}</ref> 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 [[espresso]]ly [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,<ref>{{Citation | title = Emarsden | url = http://emarsden.chez.com/downloads/ | publisher = Chez | contribution = Emacs extension: coffee.el}}.</ref> and a number of bug reports exist complaining about [[Mozilla]]’s lack of support for the protocol.<ref>{{Citation | url = https://bugzilla.mozilla.org/show_bug.cgi?id=46647 | contribution = Bug 46647 – (coffeehandler) HTCPCP not supported (RFC2324) | title = Bugzilla | publisher = Mozilla}}</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>{{Citation | publisher = Chief Arabica (Web-Controlled Coffee Consortium | url = http://purl.org/NET/error404/xp/HTCPCP-in-RDF/ | title = HTCPCP Vocabulary in RDF – WC3 RFC Draft | date = 1 April 2008 | accessdate = 17 August 2009}}</ref> in parody of the [[World Wide Web Consortium]]'s (W3C) "HTTP Vocabulary in RDF".<ref>{{Citation | editor-first = Johannes | editor-last = Koch | others = et al | url = http://www.w3.org/TR/HTTP-in-RDF/ | title = HTTP Vocabulary in RDF | publisher = [[World Wide Web Consortium|W3]] | accessdate = 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 client side implementation of it,<ref>{{Citation | title = Emarsden | url = http://emarsden.chez.com/downloads/ | publisher = Chez | contribution = Emacs extension: coffee.el}}.</ref> and a number of bug reports exist complaining about [[Mozilla]]’s lack of support for the protocol.<ref>{{Citation | url = https://bugzilla.mozilla.org/show_bug.cgi?id=46647 | contribution = Bug 46647 – (coffeehandler) HTCPCP not supported (RFC2324) | title = Bugzilla | publisher = Mozilla}}</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>{{Citation | publisher = Chief Arabica (Web-Controlled Coffee Consortium | url = http://purl.org/NET/error404/xp/HTCPCP-in-RDF/ | title = HTCPCP Vocabulary in RDF – WC3 RFC Draft | date = 1 April 2008 | accessdate = 17 August 2009}}</ref> in parody of the [[World Wide Web Consortium]]'s (W3C) "HTTP Vocabulary in RDF".<ref>{{Citation | editor-first = Johannes | editor-last = Koch | others = et al | url = http://www.w3.org/TR/HTTP-in-RDF/ | title = HTTP Vocabulary in RDF | publisher = [[World Wide Web Consortium|W3]] | accessdate = 17 August 2009}}</ref> |
Revision as of 15:26, 24 November 2014
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/HTCPCP_Pot.jpg/220px-HTCPCP_Pot.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Htcpcp_teapot.jpg/220px-Htcpcp_teapot.jpg)
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.
Protocol
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]
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. 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 |
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 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." |
418 I'm a teapot |
The HTCPCP server is a teapot; the resulting entity body may be short and stout. Demonstrations of this behaviour exist.[9][10][11][12] |
See also
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
References
- ^ "Request for Comments 2324", Network Working Group, IETF
- ^ DeNardis, Laura (30 September 2009). Protocol Politics: The Globalization of Internet Governance. MIT Press. pp. 27ff. ISBN 978-0-262-04257-4. Retrieved 8 May 2012.
- ^ a b "Request for Comments 7168", The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA), IETF
- ^ Larry Masinter. "IETF RFCs". Archived from the original on 2013-04-11.
- ^ "Emacs extension: coffee.el", Emarsden, Chez.
- ^ "Bug 46647 – (coffeehandler) HTCPCP not supported (RFC2324)", Bugzilla, Mozilla
- ^ HTCPCP Vocabulary in RDF – WC3 RFC Draft, Chief Arabica (Web-Controlled Coffee Consortium, 1 April 2008, retrieved 17 August 2009
- ^ Koch, Johannes (ed.), HTTP Vocabulary in RDF, et al, W3, retrieved 17 August 2009
- ^ Reddington, Joseph, Illustrated implementation of Error 418
{{citation}}
: Cite has empty unknown parameter:|1=
(help) - ^ Plain implementation of Error 418
- ^ Raspberry Pi based implementation of Error 418
- ^ A Goblin Teasmade teamaker with an implementation of Error 418