Uma piada de 1º de abril de 1998 que pegou.
Quando usar
Só para easter eggs.
Causas comuns e soluções
O 418 vem da RFC 2324, o Hyper Text Coffee Pot Control Protocol, uma RFC de Dia da Mentira de 1998. Ele nunca fez parte do HTTP, mas muitos frameworks o implementam, e uma proposta de 2017 para removê-lo do Node.js e do Go foi abandonada depois de uma campanha pública. A RFC 9110 agora marca o código como reservado, então nada mais pode ocupá-lo.
Na prática, você encontra o 418 quando um site ou filtro de bots responde a scrapers com ele como sinal de “vá embora”, ou em páginas com easter eggs. Não o use em uma API real: clientes, monitoramento e lógica de retentativa não vão saber o que ele significa. Escolha 403 ou 429 para bloquear tráfego, e 400 ou 422 para entrada inválida, para que ferramentas e pessoas possam reagir corretamente.
Erro do cliente (4xx)
Os códigos 4xx são erros do cliente: a própria requisição está errada, não está autorizada ou aponta para algo que não existe. Repetir a mesma requisição não vai adiantar.
Como fica
HTTP/1.1 418 I’m a teapotComo enviar
| Node.js / Express | res.status(418).end() |
|---|---|
| Python / Flask | return '', 418 |
| nginx | return 418; |
Como verificar
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/