Hyper Text Coffee Pot Control Protocol

An April Fools' protocol from 1998 for controlling coffee pots over HTTP, and its 2014 extension for tea. Both run, more faithfully than anyone asked for, on a real teapot and a real coffee pot at http418.nl.

The specifications

RFC 2324

HTCPCP/1.0

Larry Masinter, 1 April 1998. The BREW and WHEN methods, the Accept-Additions header, and 418 I'm a teapot.

Read it, annotated

RFC 7168

HTCPCP-TEA

Imran Nazar, 1 April 2014. Tea varieties, sugar, 300 Multiple Choices, and the media type message/teapot.

Read it, annotated

Try it

Both pots answer real HTTP. A teapot, asked for coffee:

curl -I https://http418.nl/coffee
HTTP/2 418

A coffee pot, asked properly:

curl -X BREW -H "Accept-Additions: Whole-milk" coffee.http418.nl

Or build a request step by step in the playground.

Compliance

How much of the two RFCs the pots implement. The gaps are honest, and on the to-do list.

FeatureSectionTeapotCoffee pot
BREW method, POST as an equivalent2324 §2.1.1YesYes
GET2324 §2.1.2YesYes
PROPFIND2324 §2.1.3405, by design207
WHEN2324 §2.1.4No milk, no WHENYes
Safe response header2324 §2.2.1.1NoNo
Accept-Additions, 406 with the list2324 §2.2.2.1YesYes
No decaf2324 §2.2.3Not applicable406
418 I'm a teapot2324 §2.3.2YesIt's a coffee pot
coffee: URI schemes in 28 languages2324 §3Not applicableAs paths
Pot designators, pot-0 and pot-12324 §3One potYes
message/coffeepot only2324 §4Not applicable415 otherwise
Clock synchronised with NTP2324 §5.1YesYes
BREW to "/" gives 300 and Alternates7168 §2.1.1In the playgroundNot applicable
Variety URIs, stop at lesser strength7168 §2.1.2YesNot applicable
Sugar, xylitol and stevia7168 §2.2.1NoNot applicable
403 for additions against consensus7168 §2.3.2NoNot applicable
418 or 503 for coffee7168 §2.3.3418503 on pot-1
message/teapot7168 §3YesNot applicable

Errata and oddities

A short history

  1. 1991At the University of Cambridge Computer Laboratory, researchers point a camera at the coffee pot outside the Trojan Room, so they can see from their desks whether there is any coffee left.
  2. November 1993The coffee pot goes on the web, and becomes one of the first webcams.
  3. 1 April 1998Larry Masinter publishes RFC 2324. It cites the Cambridge pot as prior art.
  4. 22 August 2001The Trojan Room camera is switched off. The pot is sold on eBay to Spiegel Online for £3,350.
  5. 1 April 2014Imran Nazar publishes RFC 7168, finally giving teapots something to do besides refuse.
  6. August 2017The chair of the IETF HTTP working group asks Node.js, Go and others to drop 418. Developers protest, the Save 418 Movement is born, and every project keeps the code.
  7. June 2022RFC 9110, the HTTP semantics standard, lists 418 as reserved, so no real status code can ever take the number.

Implementations

The teapottea.http418.nl, RFC 7168 The coffee potcoffee.http418.nl, RFC 2324 The playgroundBuild your own request The menuEvery status code, priced