418 I’m a teapot

Un poisson d’avril de 1998 qui est resté.

Quand l’utiliser

Uniquement pour les easter eggs.

Causes courantes et solutions

418 vient de la RFC 2324, l’Hyper Text Coffee Pot Control Protocol, une RFC poisson d’avril de 1998. Il n’a jamais fait partie de HTTP, mais de nombreux frameworks l’implémentent, et une proposition de 2017 visant à le retirer de Node.js et de Go a été abandonnée après une campagne publique. La RFC 9110 marque désormais ce code comme réservé, si bien qu’aucun autre usage ne peut le reprendre.

En pratique, vous rencontrez 418 quand un site ou un filtre anti-bots l’envoie aux scrapers pour leur signifier « allez voir ailleurs », ou sur des pages cachées en guise d’easter egg. Ne l’utilisez pas dans une vraie API : les clients, la supervision et la logique de nouvelle tentative ne sauront pas ce qu’il signifie. Choisissez 403 ou 429 pour bloquer du trafic, et 400 ou 422 pour des entrées invalides, afin que les outils et les humains puissent réagir correctement.

Erreur client (4xx)

Les codes 4xx sont des erreurs client : la requête elle-même est incorrecte, non autorisée ou vise quelque chose qui n’existe pas. Renvoyer la même requête ne servira à rien.

À quoi ça ressemble

HTTP/1.1 418 I’m a teapot

Comment l’envoyer

Node.js / Expressres.status(418).end()
Python / Flaskreturn '', 418
nginxreturn 418;

Comment le vérifier

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Ouvrir l’outil Codes de statut HTTP