Le statut erreur client HTTP 418 I'm a teapot
qui signifie « Je suis une théière » informe que le serveur refuse de préparer du café, car il s’agit d’une théière. Cette erreur est une référence au protocole « Hyper Text Coffee Pot Control Protocol » dans la RFC2324 du 1998/04/01.
Certains sites web utilisent ce code de réponse pour les requêtes qu’ils ne souhaitent pas traiter (par exemple des requêtes automatiques).
De quoi les RFCs sont-elles la soupe ?
Les “Requests For Comments” ou « demande de commentaires », sont une série numérotée de documents décrivant les aspects et spécifications techniques d’Internet, ou de différents matériels informatiques.
Le sigle « RFC » est de genre féminin : on dit « la RFC ».
La première RFC, intitulée « Logiciel hôte », a été publiée le 7 avril 1969 par Steve Crocker.
Elles sont rédigées sur l’initiative d’experts techniques, puis sont revues par la communauté Internet dans son ensemble. Les termes MUST, MUST NOT, SHOULD, MAY, etc. tels que définis dans la RFC 2119 sont utilisés pour définir leurs exigences (obligation, interdiction, recommandation, etc.) ; classées en cinq catégories : « obligatoire », « recommandé », « facultatif », « limité » et « non recommandé » ; et en trois niveaux de maturité : « standard proposé », « standard brouillon », « standard internet ».
Lorsqu’un document est publié, un numéro de RFC lui est attribué, et, en cas d’évolution ultérieure, un nouveau document est publié sous une autre référence. Elles sont le plus souvent stables, mais toute modification apportée à une RFC entraîne l’écriture d’une nouvelle RFC, qui rend la précédente obsolète.
Tous les dix ans, depuis 1999, une RFC retrace l’histoire de leurs décénnies passées :
Chaque 1er avril depuis 1978 (RFC 748) , une ou plusieurs RFC fantaisistes sont publiées, tels qu’Internet par pigeons voyageurs ou les messages subliminaux par Telnet, voire des parodies de normes réseau comme la réservation dans l’en-tête de chaque paquet d’un bit destiné à préciser si le paquet est hostile ou non.
L’erreur client HTTP 418 fait partie de cette longue théorie.
Pour qu’il y ait erreur, il faut qu’il y ait protocole
L’Hyper Text Coffee Pot Control Protocol ou HTCPCP signifie littéralement « protocole hypertexte de gestion de cafetière ». C’est une proposition humoristique de protocole de communication client-serveur permettant le contrôle, la surveillance et le diagnostic de cafetière.
Une extension de traitement de texte permet de générer des requêtes d’infusion via HTCPCP.
Le 2008/04/01, le Web-Controlled Coffee Consortium (WC3) publie une première version de la description du vocabulaire Resource Description Framework (RDF) pour HTCPCP.
Le 2014/04/01, la RFC 7168 étend le protocole à l’infusion du thé, sous le nom Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA).
Méthodes
BREW ou POST | Déclenche l’infusion du café par le serveur HTCPCP |
---|---|
GET | Récupère le café depuis le serveur HTCPCP |
PROPFIND | Affichage des métadonnées sur le café |
WHEN | Envoyer when notifie le serveur HTCPCP de stopper l’écoulement du lait dans le café (s’il y a lieu) |
Champs d’entête
Pour traiter les capacités de préparation de la cafetière, un champ d’en-tête Accept-Additions
est ajouté avec les valeurs possibles suivantes :
Champ d’en-tête | Description | Valeur(s) | Description |
---|---|---|---|
addition-type | définit les choix d’addition possibles pour la préparation du café | * | tous les types |
milk-type | choix de lait (voir plus bas) | ||
syrup-type | choix de sirop (voir plus bas) | ||
sweetener-type | choix de sucre | ||
spice-type | choix d’épice | ||
alcohol-type | choix d’alcool (voir plus bas) | ||
milk-type | définit les choix de lait possibles | Cream | crème |
Half-and-half | moitié-moitié | ||
Whole-milk | entier | ||
Part-Skim | demi-écrémé | ||
Skim | écrémé | ||
Non-Dairy | non laitier (ex. : lait de soja) | ||
syrup-type | définit les choix de sirop possibles | Vanilla | vanille |
Almond | amande | ||
Raspberry | framboise | ||
Chocolate | chocolat | ||
alcohol-type | définit les choix d’alcool possibles | Whisky | whisky |
Rum | rhum | ||
Kahlua | kahlúa | ||
Aquavit | aquavit |
Retour à l’envoyeur d’un message d’erreur
Pour que l’erreur serve à quelque chose, il faut que le client et le serveur agissent pour empêcher sa reproduction.
Codes d’erreur
406 Not Acceptable | Le serveur HTCPCP ne peut pas infuser du café pour différentes raisons, la réponse devrait indiquer une liste de types de café possibles. |
---|---|
418 I'm a teapot | Le serveur HTCPCP est une théière. Ce code d’erreur est renvoyé par certains sites web en réponse à des requêtes qu’ils refusent de traiter, comme celles provenant de bots (robots vus comme un humain par le serveur). |
Interprétation du message
En fait, le code de réponse d’erreur HTTP 406 Not Acceptable
indique, en dehors du contexte HTCPCP, qu’il est impossible de servir une réponse satisfaisant aux critères définis dans les en-têtes de négociation de contenu
et que le serveur ne souhaite pas fournir de représentation par défaut.
En réalité, cette erreur est très rarement utilisée. Plutôt que de répondre avec ce code, incompréhensible de l’utilisateur (et difficile à résoudre), les serveurs ignorent les en-têtes en question et renvoient une page à l’utilisateur.
On part du principe que, même si l’utilisateur ne sera pas complètement satisfait, ce scénario est préférable à un code d’erreur.
Si un serveur renvoie ce code d’erreur, le corps du message doit contenir la liste des représentations disponibles pour cette ressource afin de pouvoir en choisir manuellement.
Quant au code 418, en dehors du contexte HTCPCP, il informe de l’action de bots, contraction par aphérèse de « robot ».
Il s’agit d’agents logiciel automatiques ou semi-automatiques qui interagissent avec des serveurs informatiques.
Un bot se connecte et se comporte avec le serveur comme un programme client utilisé par un humain. C’est « un programme informatique autonome supposé intelligent, doué de personnalité, susceptible, mais pas toujours, de rendre un service ».
Les supposées « intelligence » ou « personnalité » traduisent un net anthropomorphisme renvoyant à la notion d’intelligence artificielle. Les programmeuses ou les programmeurs des bots ont donc bien conscience de l’absence d’intelligence humaine pour leur bot, alors que les autres humains, comme les internautes, ne sont pas nécessairement dans ce cas.
Sources :
https://developer.mozilla.org/fr/docs/Web/HTTP/Status/418
https://www.rfc-editor.org/rfc/rfc2324#section-2.3.2
https://fr.wikipedia.org/wiki/Request_for_comments
modifié le 2023-03-10 19:27 par admin