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 teapotComment l’envoyer
| Node.js / Express | res.status(418).end() |
|---|---|
| Python / Flask | return '', 418 |
| nginx | return 418; |
Comment le vérifier
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/