418: sono una teiera

La storia di HTTP 418 — il codice di stato HTCPCP del Pesce d’aprile diventato l’easter egg preferito del web — oltre a ciò che accade davvero quando Google incontra un 418 e al motivo per cui un WAF che lo restituisce su pagine reali è un problema.

Prima pubblicazione: 4 lug 2026 · Ultimo aggiornamento: 29 ago 2026 · Avanzato
1 segnale di evidenza in questa pagina

HTTP 418 I'm a teapot è un codice di stato scherzoso del RFC HTCPCP del Pesce d’aprile del 1998 (RFC 2324): a una teiera a cui viene chiesto di preparare il caffè non resta che rifiutare, perché è una teiera. Non ha mai ricevuto semantica ordinaria per le applicazioni HTTP, ma non è "unassigned" — RFC 9110 riserva formalmente il codice e il registro IANA lo elenca come (Unused), non disponibile per il riuso ordinario. Un tentativo del 2017 di recuperarlo è stato sconfitto dalla campagna "save 418". Le indicazioni datate di Google del 2023 trattano 418 come qualsiasi altro 4xx diverso da 429 per la Ricerca, mentre l’attuale pagina generica sullo stato dei crawler non copre affatto codici esotici come questo. Nella pratica conta solo quando un WAF o un livello di protezione dai bot usa 418 per bloccare le richieste (alcuni lo fanno) e lo restituisce accidentalmente a Googlebot: controllalo come qualsiasi altro 4xx. L’URL /coffee di questo sito restituisce un vero 418, secondo l’RFC.

TL;DR — Tratta un 418 inatteso come un normale 4xx diverso da 429 prodotto da un livello insolito. Salva la risposta grezza, individua se proviene da applicazione, WAF, CDN o origin e ripeti il percorso del crawler finché gli URL importanti tornano allo stato previsto.

Interpreta il segnale prima di cambiare

Il codice classifica la risposta, ma non identifica il sistema che lo ha scelto. La guida Google citata tratta 418 come gli altri 4xx diversi da 429: il contenuto non viene usato per l’indicizzazione e un URL già indicizzato può essere rimosso nel tempo; non esiste un recupero speciale per la teiera.

Parti da un URL e conserva ora, percorso, stato, header e body. Verifica se il risultato cambia in base a user-agent, IP, autenticazione, frequenza o posizione.

Isola il livello che risponde

Procedi dalla risposta pubblica verso l’interno:

  1. Riproduci la risposta con una richiesta grezza e registra header e body.
  2. Correlala per percorso e ora nei log di CDN, WAF, origin, framework e applicazione.
  3. Confronta browser e crawler; il testo della pagina di errore non prova l’origine.
  4. Modifica solo la regola o il codice dimostrato; una costante nominata non significa che il framework invii 418 per impostazione predefinita.

Verifica il recupero

Riprova lo stesso URL lungo il percorso che falliva. Deve restituire lo stato realmente richiesto dalla risorsa, di solito 200 per una pagina attiva e indicizzabile. Controlla anche URL vicini soggetti alla stessa regola.

Monitora nuovi 418 sugli URL indicizzabili. /coffee deve restare il controllo 418 intenzionale; le pagine di produzione non devono ereditarlo.

Prova dal vivo

Questa è una risorsa HTTP reale del sito — non una simulazione. Eseguila con il pulsante, aprila in una nuova scheda oppure curl -i dal terminale: il sistema risponde con il codice di stato effettivo trattato in questo articolo.

Apri in una nuova scheda ↗

Aggiungi una nota dell’esperto

Fissa una citazione dell’esperto

Persona nuova? Crea il suo profilo non rivendicato in /admin/experts/ → Fissa una citazione dell’esperto prima.