Hyper Text Coffee Pot Control Protocol: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Removed the New York Times reference since it is return a 404 header and page now =(
mNo edit summary
Line 6: Line 6:


[[File:Netbook glued to a teapot.png|thumb|Server at [http://134.219.188.123/], which implements the protocol]]
[[File:Netbook glued to a teapot.png|thumb|Server at [http://134.219.188.123/], which implements the protocol]]
HTCPCP is specified in [[Request for Comments|RFC]] 2324, published on [[April Fools' Day RFC|1 April]] 1998.<ref>[http://www.ietf.org/rfc/rfc2324.txt Network Working Group – Request for Comments: 2324]</ref> 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>
HTCPCP is specified in [[Request for Comments|RFC]] 2324, published on [[April Fools' Day RFC|1 April]] 1998.<ref>[http://tools.ietf.org/html/rfc2324 Network Working Group – Request for Comments: 2324]</ref> 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 [[Uniform Resource Identifier|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:
HTCPCP is an extension of [[Hypertext Transfer Protocol|HTTP]]. HTCPCP requests are identified with the [[Uniform Resource Identifier|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"|<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]].
|- valign=top
|-
|<code>GET</code>||Retrieves coffee from the HTCPCP server
|<code>GET</code>||Retrieves coffee from the HTCPCP server.
|- valign=top
|-
|<code>PROPFIND</code>||Finds out metadata about the coffee
|<code>PROPFIND</code>||Finds out metadata about the coffee.
|- valign=top
|-
|<code>WHEN</code>||Says "when", causing the HTCPCP server to stop pouring [[milk]] into the coffee (if applicable)
|<code>WHEN</code>||Says "when", causing the HTCPCP server to stop pouring [[milk]] into the coffee (if applicable).
|}
|}


Line 23: Line 23:
{|
{|
|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
|-
|<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 HTTP 418 implemented on BBC CBeebies]</ref><ref>[http://www.cs.rhul.ac.uk/home/joseph/teapot.html Implementing Error 418]</ref><ref>[http://134.219.188.123/ Error 418 implemented]</ref>
|<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 HTTP 418 implemented on BBC CBeebies]</ref><ref>[http://www.cs.rhul.ac.uk/home/joseph/teapot.html Implementing Error 418]</ref><ref>[http://134.219.188.123/ Error 418 implemented]</ref>
|}
|}

Revision as of 20:17, 20 March 2012

Diagram of a coffee percolator

The Hyper Text Coffee Pot Control Protocol (HTCPCP for short) is a protocol for controlling, monitoring, and diagnosing coffee pots.

File:Netbook glued to a teapot.png
Server at [1], which implements the protocol

HTCPCP is specified in RFC 2324, published on 1 April 1998.[1] The editor Emacs includes a fully functional implementation of it,[2] and a number of bug reports exist complaining about Mozilla's lack of support for the protocol.[3] Ten years after the publication of HTCPCP, the Web-Controlled Coffee Consortium (WC3) published a first draft of "HTCPCP Vocabulary in RDF"[4] in analogy of the World Wide Web Consortium's (W3C) "HTTP Vocabulary in RDF".[5]

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.[6][7][8]

See also

References