HTCPCP is specified in the jocular RFC 2324, published on April 1 1998. 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, and a number of patches exist to extend Mozilla in this direction.
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:
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.
As Stefan Moebius noted, the HTCPCP does not define the error response for Out of Coffee.
For more detailed specifications, see the HTCPCP RFC (RFC 2324).