Hyper Text Coffee Pot Control Protocol: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
"It also defines * error responses" updated to match list length
Undid edits which asserted responses not present in rfc2324; part of a planned revision? +proper & more cites; present methods and responses as table; sharper link for Coffee pot; +image.
Line 1: Line 1:
[[File:Percolator Cutaway Diagram.png|thumb|Diagram of a [[coffee percolator]]]]
The '''Hyper Text Coffee Pot Control Protocol''' ('''HTCPCP''' for short) is a [[protocol (computing)|protocol]] for controlling, monitoring, and diagnosing [[coffee]] pots.
The '''Hyper Text Coffee Pot Control Protocol''' ('''HTCPCP''' for short) is a [[protocol (computing)|protocol]] for controlling, monitoring, and diagnosing [[coffee pot]]s.


HTCPCP is specified in the jocular RFC 2324, published on [[April 1]] [[1998]]. Although the [[Request for Comments|RFC]] describing the protocol is an [[April Fools' Day RFC|April Fools' Day joke]] and not to be taken seriously, it specifies the protocol itself accurately enough for it to be a real, non-fictional protocol. The powerful editor [[Emacs]] actually includes a fully functional implementation of it, and a [https://bugzilla.mozilla.org/show_bug.cgi?id=46647 number of patches] exist to extend [[Mozilla]] in this direction.
HTCPCP is specified in the jocular [[Request for Comments|RFC]] 2324, published on {{Date|1998-04-01}}.<ref>[http://www.ietf.org/rfc/rfc2324.txt Network Working Group Request for Comments: 2324]</ref> Although the RFC describing the protocol is an [[April Fools' Day RFC|April Fools' Day joke]] and not to be taken seriously, it specifies the protocol itself accurately enough for it to be a real, non-fictional protocol. The powerful editor [[Emacs]] actually includes a fully functional implementation of it,<ref>[http://emarsden.chez.com/downloads/ Emacs extension: coffee.el]</ref> and a number of patches exist to extend [[Mozilla]] in this direction.<ref>[https://bugzilla.mozilla.org/show_bug.cgi?id=46647 Bug 46647 (coffeehandler) HTCPCP not supported (RFC2324)] at bugzilla.mozilla.org</ref>


HTCPCP is an extension of [[Hypertext Transfer Protocol|HTTP]]. HTCPCP requests are identified with the [[Universal Resource Identifier|URI]] scheme <code>coffee:</code> (or the same 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 [[Universal Resource Identifier|URI]] scheme <code>coffee:</code> (or the same word in any other of the 29 listed languages) and contain several additions to the HTTP methods:
{|
*<code>BREW</code> or <code>POST</code>: Causes the HTCPCP server to brew [[coffee]].
*<code>GET</code>: Retrieves coffee from the HTCPCP server.
|width="150px"|<code>BREW</code> or <code>POST</code>||Causes the HTCPCP server to brew [[coffee]]
|-
*<code>PROPFIND</code>: Finds out metadata about the coffee.
*<code>WHEN</code>: Says "when", causing the HTCPCP server to stop pouring [[milk]] into the coffee (if applicable).
|<code>GET</code>||Retrieves coffee from the HTCPCP server
|-
|<code>PROPFIND</code>||Finds out metadata about the coffee
|-
|<code>WHEN</code>||Says "when", causing the HTCPCP server to stop pouring [[milk]] into the coffee (if applicable)
|}


It also defines four error responses:
It also defines two error responses:
{|
*<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.
*<code>418 I'm a teapot</code>: The HTCPCP server is a [[teapot]]. The responding entity MAY be [[I'm a Little Teapot|short and stout]].
|width="150px"|<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
|-
*<code>491 Missing Coffee </code>: The HTCPCP is out of coffee and/or is out of milk.
*<code>453 Milk off </code>: The milk in the coffee has gone past it's "use by date" and should be removed from the coffee.
|<code>418 I'm a teapot</code>||The HTCPCP server is a [[teapot]]. The responding entity MAY be [[I'm a Little Teapot|short and stout]]
|}


== External links ==
==See also==
{{Commonscat|Coffee pots}}
* [http://www.ietf.org/rfc/rfc2324.txt RFC 2324], the full HTCPCP RFC specification.
[[Trojan Room coffee pot]]

==References==
<references />


[[Category:Request for Comments]]
[[Category:Request for Comments]]

Revision as of 12:45, 10 February 2009

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.

HTCPCP is specified in the jocular RFC 2324, published on 1 April 1998.[1] Although the RFC describing the protocol is an April Fools' Day joke and not to be taken seriously, it specifies the protocol itself accurately enough for it to be a real, non-fictional protocol. The powerful editor Emacs actually includes a fully functional implementation of it,[2] and a number of patches exist to extend Mozilla in this direction.[3]

HTCPCP is an extension of HTTP. HTCPCP requests are identified with the URI scheme coffee: (or the same 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 responding entity MAY be short and stout

See also

Trojan Room coffee pot

References