Hyper Text Coffee Pot Control Protocol: Difference between revisions
everything |
ClueBot NG (talk | contribs) m Reverting possible vandalism by 205.223.221.5 to version by 91.122.182.143. Report False Positive? Thanks, ClueBot NG. (2751613) (Bot) |
||
Line 1: | Line 1: | ||
[[File:HTCPCP Pot.jpg|thumb|A working teapot at [http://teapot.joereddington.com/], which implements the protocol as a server.]] |
[[File:HTCPCP Pot.jpg|thumb|A working teapot at [http://teapot.joereddington.com/], which implements the protocol as a server.]] |
||
[[File:Htcpcp teapot.jpg|thumb|Implementation of HTCPCP at [http://error418.net/ http://error418.org/].]] |
[[File:Htcpcp teapot.jpg|thumb|Implementation of HTCPCP at [http://error418.net/ http://error418.org/].]] |
||
The '''Hyper Text Coffee Pot Control Protocol''' ('''HTCPCP''') is a facetious [[communications protocol]] for controlling, monitoring, and diagnosing [[coffee pot]]s. It is specified in RFC 2324, published on 1 April 1998 as an [[April Fools' Day Request for Comments|April Fools' Day RFC]],<ref>{{Citation | url = http://tools.ietf.org/html/rfc2324 | title = Network Working Group | contribution = Request for Comments 2324 | publisher = [[Internet Engineering Task Force|IETF]]}}</ref> as part of an [[April Fools' Day Request for Comments|April Fools prank]].<ref>{{cite book|first=Laura|last=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=27ff}}</ref> An extension was published as RFC 7168 on 1 April 2014<ref name=rfc7168>{{Citation | url = https://tools.ietf.org/html/rfc7168 | title = The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA)| contribution = Request for Comments 7168 | publisher = [[Internet Engineering Task Force|IETF]]}}</ref> to support brewing teas, which is also an April Fools' Day RFC. |
|||
I'm a little teapot short and spout. |
|||
When I get all steamed up, |
|||
hear me shout "tip me over and pour me out!!!" |
|||
==Protocol== |
==Protocol== |
||
Line 12: | Line 8: | ||
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> |
||
On April 1, 2014, RFC 7168 extended HTCPCP to fully handle teapots.<ref name= |
On April 1, 2014, RFC 7168 extended HTCPCP to fully handle teapots.<ref name=rfc7168 /> |
||
There are also makers that rigged actual coffee or tea pots with HTCPCP-compatible control interface, either in a humorous and satirical but simple way, or in a massively extended, fully functional [[Internet of Things]] way.{{Citation needed|date=April 2016}} |
There are also makers that rigged actual coffee or tea pots with HTCPCP-compatible control interface, either in a humorous and satirical but simple way, or in a massively extended, fully functional [[Internet of Things]] way.{{Citation needed|date=April 2016}} |
Revision as of 16:49, 8 September 2016
![](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 was 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]
There are also makers that rigged actual coffee or tea pots with HTCPCP-compatible control interface, either in a humorous and satirical but simple way, or in a massively extended, fully functional Internet of Things way.[citation needed]
Commands and replies
HTCPCP is an extension of HTTP. HTCPCP requests are identified with the uniform resource identifier (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] |
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) - ^ A Goblin Teasmade teamaker with an implementation of Error 418