Updated by: 7168 INFORMATIONAL

Errata Exist

Network Working Group L. Masinter Request for Comments: 2324 1 April 1998 Category: Informational Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) Status of this Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved. Abstract This document describes HTCPCP, a protocol for controlling, monitoring, and diagnosing coffee pots. 1 . Rationale and Scope COKE]. One of the first remotely _operated_ machine to be hooked up to the Internet, the Internet Toaster, (controlled via SNMP) was debuted in 1990 [RFC2235]. The demand for ubiquitous appliance connectivity that is causing the consumption of the IPv4 address space. Consumers want remote control of devices such as coffee pots so that they may wake up to freshly brewed coffee, or cause coffee to be prepared at a precise time after the completion of dinner preparations. Masinter Informational [Page 1]

RFC 2324 HTCPCP/1.0 1 April 1998 RFC2068]) permits the transfer of web objects from origin servers to clients. The web is world-wide. HTCPCP is based on HTTP. This is because HTTP is everywhere. It could not be so pervasive without being good. Therefore, HTTP is good. If you want good coffee, HTCPCP needs to be good. To make HTCPCP good, it is good to base HTCPCP on HTTP. Future versions of this protocol may include extensions for espresso machines and similar devices. 2 . HTCPCP Protocol Section 4). 2.1 HTCPCP Added Methods 2.1.1 The BREW method, and the use of POST 2.1.2 GET method Masinter Informational [Page 2]

RFC 2324 HTCPCP/1.0 1 April 1998 2.1.3 PROPFIND method 2.1.4 WHEN method 2.2 Coffee Pot Header fields 2.2.1 Recommended header fields 2.2.1.1 The "safe" response header field. SAFE] defines a HTTP response header field, "Safe", which can be used to indicate that repeating a HTTP request is safe. The inclusion of a "Safe: Yes" header field allows a client to repeat a previous request if the result of the request might be repeated. The actual safety of devices for brewing coffee varies widely, and may depend, in fact, on conditions in the client rather than just in the server. Thus, this protocol includes an extension to the "Safe" response header: Safe = "Safe" ":" safe-nature safe-nature = "yes" | "no" | conditionally-safe conditionally-safe = "if-" safe-condition safe-condition = "user-awake" | token indication will allow user agents to handle retries of some safe requests, in particular safe POST requests, in a more user-friendly way. Masinter Informational [Page 3]

RFC 2324 HTCPCP/1.0 1 April 1998 2.3.2 418 I'm a teapot 3 . The "coffee" URI scheme URLI18N]. coffee-url = coffee-scheme ":" [ "//" host ] ["/" pot-designator ] ["?" additions-list ] coffee-scheme = ( "koffie" ; Afrikaans, Dutch | "q%C3%A6hv%C3%A6" ; Azerbaijani | "%D9%82%D9%87%D9%88%D8%A9" ; Arabic | "akeita" ; Basque | "koffee" ; Bengali | "kahva" ; Bosnian | "kafe" ; Bulgarian, Czech | "caf%C3%E8" ; Catalan, French, Galician | "%E5%92%96%E5%95%A1" ; Chinese | "kava" ; Croatian | "k%C3%A1va ; Czech | "kaffe" ; Danish, Norwegian, Swedish | "coffee" ; English | "kafo" ; Esperanto | "kohv" ; Estonian | "kahvi" ; Finnish | "%4Baffee" ; German | "%CE%BA%CE%B1%CF%86%CE%AD" ; Greek | "%E0%A4%95%E0%A5%8C%E0%A4%AB%E0%A5%80" ; Hindi | "%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC" ; Japanese | "%EC%BB%A4%ED%94%BC" ; Korean | "%D0%BA%D0%BE%D1%84%D0%B5" ; Russian | "%E0%B8%81%E0%B8%B2%E0%B9%81%E0%B8%9F" ; Thai ) pot-designator = "pot-" integer ; for machines with multiple pots additions-list = #( addition ) Masinter Informational [Page 5]

RFC 2324 HTCPCP/1.0 1 April 1998 4 . The "message/coffeepot" media type 5 . Operational constraints 5.1 Timing Considerations NTP] to synchronize their clocks to a globally accurate time standard. Telerobotics has been an expensive technology. However, with the advent of the Cambridge Coffee Pot [CAM], the use of the web (rather than SNMP) for remote system monitoring and management has been proven. Additional coffee pot maintenance tasks might be accomplished by remote robotics. Web data is normally static. Therefore to save data transmission and time, Web browser programs store each Web page retrieved by a user on the user's computer. Thus, if the user wants to return to that page, it is now stored locally and does not need to be requested again from the server. An image used for robot control or for monitoring a changing scene is dynamic. A fresh version needs to be retrieved from the server each time it is accessed. 5.2 Crossing firewalls Masinter Informational [Page 6]

RFC 2324 HTCPCP/1.0 1 April 1998 6 . System management considerations CAM]. The traditional technique [CAM] was to attach a frame-grabber to a video camera, and feed the images to a web server. This was an appropriate application of ATM networks. In this coffee pot installation, the Trojan Room of Cambridge University laboratories was used to give a web interface to monitor a common coffee pot. of us involved in related research and, being poor, impoverished academics, we only had one coffee filter machine between us, which lived in the corridor just outside the Trojan Room. However, being highly dedicated and hard-working academics, we got through a lot of coffee, and when a fresh pot was brewed, it often didn't last long. This service was created as the first application to use a new RPC mechanism designed in the Cambridge Computer Laboratory - MSRPC2. It runs over MSNL (Multi-Service Network Layer) - a network layer protocol designed for ATM networks. Coffee pots on the Internet may be managed using the Coffee Pot MIB [CPMIB]. 7 . Security Considerations Masinter Informational [Page 7]