Clever Geek Handbook
📜 ⬆️ ⬇️

HTCPCP

Espresso machine

Hyper Text Coffee Pot Control Protocol ( HTCPCP , Hypertext Coffee Machine Control Protocol ) is a protocol for controlling, tracking and diagnosing coffee brewing devices.

HTCPCP is described in RFC 2324 , published April 1, 1998 . Although the RFC describing the protocol is an April Fools' Day joke and cannot be taken seriously, it describes the protocol itself quite seriously, as if it were truly existing. While there is no known full-fledged implementation of this protocol.

HTCPCP is an extension of HTTP . HTCPCP requests are defined using the coffee: URI scheme and contain several additions to HTTP requests:

  • BREW or POST : forces the HTCPCP server to brew coffee.
  • GET : receiving coffee from an HTCPCP server.
  • PROPFIND : Search for coffee metadata .
  • WHEN : Saying “when”, the client forces the HTCPCP server to finish adding milk to the coffee (if possible).

Also, the server may return errors. Below are their codes:

  • 406 “Not Acceptable” (Error 406: Not Acceptable) - returned when the server is unable to fulfill the client’s request; the server’s response should also contain a list of types of coffee available for preparation.
  • 418 “I'm a teapot” (Error 418: I am a teapot) - returns when trying to make coffee using a kettle .

As noted by Stefan Möbius , the proposed specification of the HTCPCP protocol has the disadvantage that it does not provide an “Out of Coffee” error code for the case when the coffee in the coffee maker has run out. The possibility of expanding the specification of the protocol for cases of other drinks: tea , beer , milk , etc., was discussed .

Content

Interesting Facts

Some web frameworks support HTTP status 418 “I'm a teapot”, for example, Django [1] , Flask (Werkzeug [2] ), Symfony [3] , Yii [4] , Spring and Bottle [5] .

See also

  • April Fools Day RFC
  • IP via carrier pigeons

Links

  • RFC 2324 - Hyper Text Coffee Pot Control Protocol (HTCPCP / 1.0)
  • HOWTO-Coffee - A Guide to Making Coffee with Linux

Notes

  1. ↑ django / django (English) . Github Date of treatment May 18, 2017.
  2. ↑ pallets / werkzeug (English) . Github Date of treatment May 18, 2017.
  3. ↑ symfony / http-foundation . Github Date of treatment May 18, 2017.
  4. ↑ yiisoft / yii2 (neopr.) . Github Date of appeal September 25, 2015.
  5. ↑ bottlepy / bottle (unopened) . Github Date of treatment April 23, 2016.
Source - https://ru.wikipedia.org/w/index.php?title=HTCPCP&oldid=100253772


More articles:

  • Street Ignatieva (Lipetsk)
  • Directions Ilyich (Lipetsk)
  • Undecan
  • State Republican Academic Korean Musical Comedy Theater
  • Landscape Science
  • Bozhidar
  • Tazhibaev, Abdilda
  • 231 (number)
  • Systematization of regulations
  • Academy Bay

All articles

Clever Geek | 2019