Het Hyper Text Coffee Pot Control Protocol (HTCPCP) is een netwerkprotocol voor het controleren, monitoren en diagnosticeren van koffiepotten. Het wordt beschreven in RFC 2324. Dit document werd op 1 april 1998[1] gepubliceerd als onderdeel van een 1 aprilgrap.[2] De bewoording van het protocol maakte duidelijk dat het niet serieus was bedoeld. Dit blijkt ook uit de tekst
there is a strong, dark, rich requirement for a protocol designed espressoly [sic] for the brewing of coffee
waarin een woordspeling wordt gebruikt op het woord "espresso".
Ondanks dat het protocol van oorsprong als grap was bedoeld is het nog steeds te vinden op het internet. De teksteditor Emacs heeft een volledige functionele implementatie hiervan.[3] Ook bestaan er verschillende bugmeldingen die klagen over het feit dat Mozilla dit protocol niet ondersteunde.[4] Tien jaar nadat HTCPCP werd gepubliceerd, bracht het Web-Controlled Coffee Consortium (WC3) een eerste versie uit van "HTCPCP Vocabulary in RDF"[5] analoog aan het "HTTP Vocabulary in RDF" van het World Wide Web Consortium (W3C).[6]
HTCPCP is een uitbreiding van HTTP. HTCPCP-verzoeken worden geïdentificeerd met het URI schema coffee:
(of een woord in een van de 29 ondersteunde talen) en bevat daarnaast een aantal uitbreidingen aan HTTP:
BREW
of POST
- Zorgt ervoor dat de HTCPCP server koffie gaat zetten.GET
- Ontvangt de koffie van de HTCPCP server.PROPFIND
- Zoekt naar metadata van de koffie.WHEN
- Zegt "when" waardoor de HTCPCP server stopt met het toevoegen van melk in de koffie (indien toepasbaar).Daarnaast bestaan er twee HTTP fouten:
406 Not Acceptable |
De HTCPCP server is niet in staat om koffie te maken om wat voor reden; de reactie wijst dan op een lijst van aanvaardbare koffiesoorten |
418 I'm a teapot |
De HTCPCP server is een theepot. Een demonstratie hiervan bestaat.[7][8] |