Protocole de contrôle de cafetière Hyper Text
Protocole La RFC 2324 a été rédigée par Larry Masinter , qui la décrit comme une satire, affirmant : « Elle a un but sérieux : elle identifie de nombreuses manières dont HTTP a ...
La RFC 2324 a été rédigée par Larry Masinter , qui la décrit comme une satire, affirmant : « Elle a un but sérieux : elle identifie de nombreuses manières dont HTTP a été étendu de façon inappropriée. » La formulation du protocole indiquait clairement qu’il ne s’agissait pas d’une œuvre entièrement sérieuse ; par exemple, elle notait qu’« il existe un besoin impérieux, profond et intense, d’un protocole conçu comme un expresso pour la préparation du café ».
Malgré le caractère humoristique de ses origines, ou peut-être grâce à cela, le protocole a conservé une présence mineure en ligne. L'éditeur Emacs en intègre une implémentation client entièrement fonctionnelle , et plusieurs rapports de bogues déplorent le manque de prise en charge du protocole par Mozilla . Dix ans après la publication de HTCPCP, le Web-Controlled Coffee Consortium (WC3) a publié une première ébauche du « Vocabulaire HTCPCP en RDF » , parodiant le « Vocabulaire HTTP en RDF » du World Wide Web Consortium (W3C)
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 du protocole HTTP . Les requêtes HTCPCP sont identifiées par le schéma d'identificateur de ressource uniforme (URI) coffee(ou le mot correspondant dans l'une des 29 langues listées) et contiennent plusieurs ajouts aux méthodes HTTP :
Il définit également trois réponses en cas d'erreur :
Sauvez 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 « Je suis une théière » de la plateforme Node.js , un code implémenté en référence au code 418 original « Je suis une théière » établi dans le protocole HTTPC (Hyper Text Coffee Pot Control Protocol). Le 6 août 2017, Nottingham a demandé la suppression de toute référence à ce code 418 du langage de programmation Go , puis des bibliothèques Requests de Python et HttpAbstractions d' ASP.NET .
En réaction, Shane Brunswick, un développeur de 15 ans, a créé le site web save418.com et lancé le mouvement « Save 418 », affirmant que les références à l'erreur 418 (« Je suis une théière ») dans différents projets servent de « rappel que les processus informatiques sous-jacents sont toujours l'œuvre de l'homme ». Le site de Brunswick est devenu viral quelques heures après sa publication, récoltant des milliers de votes positifs sur la plateforme Reddit [ et entraînant l'adoption massive du hashtag Twitter « #save418 » qu'il avait introduit sur son site. Face à l'indignation générale, Node.js, Go, Requests (Python et la bibliothèque HttpAbstractions (ASP.NET) ont décidé de ne pas supprimer l'erreur 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 du code d'état HTTP 418 comme code réservé, garantissant que le code 418 ne sera pas remplacé par un code d'état officiel dans un avenir prévisible.
Le 5 octobre 2020, Python 3.9 a été publié avec une bibliothèque HTTP mise à jour incluant 418 IM_A_TEAPOTles codes d'état. Dans la requête d'intégration correspondante, le mouvement Save 418 a été directement cité en faveur de son adoption.
Usage
Le code d'état 418 est utilisé comme un easter egg sur certains sites web, comme l'easter egg « Je suis une théière » de Google.com .
Le statut 418 est parfois renvoyé par les serveurs lorsqu'une requête est bloquée, au lieu du statut plus approprié 403 Interdit [ 404 Introuvable . Aux alentours de l' invasion russe de l'Ukraine en 2022 , le site web militaire russe mil.ru renvoyait le code d'état HTTP 418 lorsqu'il était consulté depuis l'extérieur de la Russie, à titre de mesure de protection contre les attaques DDoS Ce changement a été observé pour la première fois en décembre 2021
Il existe de multiples implémentations conformes du protocole, y compris des serveurs programmés en Go , Python et Javascript , au moins ce dernier ayant été utilisé pour demander une véritable cafetière.