Hyper Text Coffee Pot Control Protocol
# Hyper Text Coffee Pot Control Protocol

El Hyper Text Coffee Pot Control Protocol (HTCPCP), o en español, Protocolo de Control de Cafeteras de Hipertexto, es un protocolo de comunicación humorístico para controlar, monitorizar y diagnosticar cafeteras. El protocolo está especificado en el RFC 2324, publicado el 1 de abril de 1998, como un RFC del 1 de abril en el día de los Inocentes. Una extensión del protocolo fue publicado en el RFC 7168 el 1 de abril de 2014 para soportar teteras y fermentadoras de té.

## Protocolo

El protocolo inicial ha sido escrito por Larry Masinter, el cual describe el protocolo como una sátira diciendo:

La redacción del protocolo dejó en claro que esto no era del todo grave, por ejemplo, señala que "existe una exigencia fuerte, rica y oscura, de un protocolo diseñado expresamente para la elaboración té y café".

A pesar de la naturaleza humorística de sus orígenes, o quizá debido a ello, el protocolo se ha mantenido presente aunque mínimamente. El editor Emacs implementa un cliente para el protocolo completamente funcional, y una serie de informes de errores existentes quejándose de la falta de soporte del protocolo por parte de Mozilla. 10 años después de la publicación del protocolo, el Web-Controlled Coffee Consortium (WC3) publicó un primer borrador de "HTCPCP Vocabulary in RDF", como una parodia al "HTTP Vocabulary in RDF" publicado por el W3C.

También hay fabricantes que fabrican cafeteras o teteras con una interfaz de compatibilidad HTCPCP, como una broma satírica y como una vía de implementación de Internet de las Cosas potente y extendido.

## Comandos y respuestas

HTCPCP es una extensión de HTTP. Las consultas son identificadas con el URI antecedido del protocolo coffee, o alguna de las correspondientes palabras en otro de los 29 idiomas listados y contiene algunos añadidos a los métodos HTTP.

| Comando | Explicación |
| - | - |
| BREW or POST | Hace que el servidor HTCPCP prepare café. Usar POST para esto está desaprobado. Un nuevo campo de cabecera HTTP ha sido introducido, llamado Accept-Additions, soportando características opcionales como crema, leche entera, vainilla, frambuesa, whisky, etcétera. |
| GET | Recupera el café del servidor HTCPCP, es decir, lo sirve en un vaso. |
| PROPFIND | Muestra los metadatos acerca del café. |
| WHEN | Causa que el servidor HTCPCP deje de verter leche en el vaso de café (si aplica). |

También define 2 códigos de error:

| Código | Descripción |
| - | - |
| 406 Not Acceptable | El servidor HTCPCP no puede procesar la solicitud de la adición por alguna razón; la respuesta deberá indicar una lista de las adiciones disponibles |
| 418 I'm a teapot | El servidor HTCPCP es una tetera; la respuesta debe ser corta y concisa. |
