Flamme Fédé Ouest
PHARMAPRAT

À propos de l’erreur 418


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

      , ,

      Laisser un commentaire

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *