À propos de l’erreur 418

Contenus
    Table des contenus

      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 :

      1999 RFC 2555, « 30 Years of RFCs », l’histoire de 30 ans de RFC
      2009 RFC 5540, « 40 Years of RFCs », l’histoire de 40 ans de RFC
      2019 RFC 8700, « Fifty Years of RFCs », l’histoire de 50 ans de RFC

      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 POSTDéclenche l’infusion du café par le serveur HTCPCP
      GETRécupère le café depuis le serveur HTCPCP
      PROPFINDAffichage des métadonnées sur le café
      WHENEnvoyer when notifie le serveur HTCPCP de stopper l’écoulement du lait dans le café (s’il y a lieu)
      Méthodes du protocole HTCPCP

      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êteDescriptionValeur(s)Description
      addition-typedéfinit les choix d’addition possibles pour la préparation du café*tous les types
      milk-typechoix de lait (voir plus bas)
      syrup-typechoix de sirop (voir plus bas)
      sweetener-typechoix de sucre
      spice-typechoix d’épice
      alcohol-typechoix d’alcool (voir plus bas)
      milk-typedéfinit les choix de lait possiblesCreamcrème
      Half-and-halfmoitié-moitié
      Whole-milkentier
      Part-Skimdemi-écrémé
      Skimécrémé
      Non-Dairynon laitier (ex. : lait de soja)
      syrup-typedéfinit les choix de sirop possiblesVanillavanille
      Almondamande
      Raspberryframboise
      Chocolatechocolat
      alcohol-typedéfinit les choix d’alcool possiblesWhiskywhisky
      Rumrhum
      Kahluakahlúa
      Aquavitaquavit
      Valeurs possibles du champs Accept-Addition

      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 AcceptableLe 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 teapotLe 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).
      Codes d’erreurs renvoyés

      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