Protocole de contrôle de la cafetière Hyper Text - Hyper Text Coffee Pot Control Protocol
Le Hyper Text Coffee Pot Control Protocol ( HTCPCP ) est un protocole de communication facétieux pour contrôler, surveiller et diagnostiquer les cafetières . Il est spécifié dans la RFC 2324 , publiée le 1er avril 1998 en tant que RFC du poisson d'avril , dans le cadre d'une farce du poisson d'avril . Une extension, HTCPCP-TEA, a été publiée sous le nom de RFC 7168 le 1er avril 2014 pour prendre en charge l'infusion de thé, qui est également une RFC du poisson d'avril.
Protocole
La RFC 2324 a été écrite par Larry Masinter , qui la décrit comme une satire, en disant : « Cela a un objectif sérieux – il identifie de nombreuses façons dont HTTP a été étendu de manière inappropriée. » Le libellé du protocole indiquait clairement qu'il n'était pas tout à fait sérieux ; par exemple, il note qu'« il existe une exigence forte, sombre et riche pour un protocole conçu de manière expressive [ sic ] pour l'infusion du café ».
Malgré la nature plaisante de ses origines, ou peut-être à cause de cela, le protocole est resté comme une présence mineure en ligne. L'éditeur Emacs inclut une implémentation côté client entièrement fonctionnelle, et un certain nombre de rapports de bogues se plaignent du manque de support de Mozilla pour le protocole. Dix ans après la publication de HTCPCP, le Web-Controlled Coffee Consortium ( WC3 ) a publié une première ébauche de " HTCPCP Vocabulary in RDF " en parodie du World Wide Web Consortium (W3C) " HTTP Vocabulary in RDF ".
Le 1er avril 2014, la RFC 7168 a étendu HTCPCP pour gérer entièrement les théières.
Commandes et réponses
HTCPCP est une extension de HTTP . Les requêtes HTCPCP sont identifiées avec le schéma Uniform Resource Identifier (URI) coffee(ou le mot correspondant dans l'une des 29 langues répertoriées) et contiennent plusieurs ajouts aux méthodes HTTP :
BREW ou POST
|
Le serveur HTCPCP prépare du café . L'utilisation de POST à cette fin est déconseillée. Un nouveau champ d'en-tête de requête HTTP "Accept-Additions" est proposé, prenant en charge les ajouts facultatifs, notamment Cream, Whole-lait, Vanilla, Raspberry, Whisky, Aquavit, etc. |
GET |
"Récupère" le café du serveur HTCPCP. |
PROPFIND |
Renvoie des métadonnées sur le café. |
WHEN |
Dit "quand" , provoquant l'arrêt du serveur HTCPCP de verser du lait dans le café (le cas échéant). |
Il définit également deux réponses d'erreur :
406 Not Acceptable |
Le serveur HTCPCP est incapable de fournir l'ajout demandé pour une raison quelconque ; la réponse doit indiquer une liste des ajouts disponibles. Le RFC observe que "En pratique, la plupart des cafetières automatiques ne peuvent actuellement pas fournir d'ajouts." |
418 I'm a teapot |
Le serveur HTCPCP est une théière ; le corps de l'entité résultant « peut être court et robuste » (une référence à la chanson « I'm a Little Teapot »). Des démonstrations de ce comportement existent. |
Enregistrer le mouvement 418
Le 5 août 2017, Mark Nottingham, président du groupe de travail HTTPBIS de l' IETF , a demandé la suppression du code d'état 418 « I'm a teapot » de la plate-forme Node.js , un code implémenté en référence à l'original 418 « I' m une théière" établie dans le protocole de contrôle de la cafetière Hyper Text. Le 6 août 2017, Nottingham a demandé que les références à 418 « Je suis une théière » soient supprimées du langage de programmation Go , puis des requêtes de Python et de la bibliothèque HttpAbstractions d' ASP.NET .
En réponse, le développeur Shane Brunswick, âgé de 15 ans, a créé un site Web, save418.com, et a établi le « Save 418 Movement », affirmant que les références à 418 « I'm a teapot » dans différents projets servent « de rappel que le les processus sous-jacents des ordinateurs sont encore fabriqués par des humains". Le site de Brunswick est devenu viral dans les heures qui ont suivi sa publication, recueillant des milliers de votes positifs sur la plate-forme sociale Reddit et provoquant l'adoption massive du hashtag Twitter "#save418" qu'il a introduit sur son site. Tenant compte du tollé général, Node.js, Go, Python's Requests et la bibliothèque HttpAbstractions d'ASP.NET ont décidé de ne pas supprimer 418 "Je suis une théière" de leurs projets respectifs. Le soutien unanime des projets susmentionnés et du grand public a incité Nottingham à entamer le processus de marquage de 418 comme code de statut HTTP réservé, garantissant que 418 ne sera pas remplacé par un code de statut officiel dans un avenir prévisible.
Le 5 octobre 2020, Python 3.9 a été publié avec une bibliothèque http mise à jour comprenant le 418 IM_A_TEAPOTcode d'état. Dans la pull request correspondante, le mouvement Save 418 a été directement cité à l'appui de l'adoption.