Primaaprilisowy żart z 1998 roku, który się przyjął.
Kiedy go używać
Tylko jako easter egg.
Typowe przyczyny i rozwiązania
418 pochodzi z RFC 2324, Hyper Text Coffee Pot Control Protocol, primaaprilisowego RFC z 1998 roku. Nigdy nie był częścią HTTP, ale wiele frameworków go implementuje, a propozycję z 2017 roku, by usunąć go z Node.js i Go, porzucono po publicznej kampanii. RFC 9110 oznacza teraz ten kod jako zarezerwowany, więc nic innego nie może go zająć.
W praktyce spotkasz 418, gdy strona lub filtr botów odpowiada nim scraperom jako sygnałem „spadaj”, albo na stronach z easter eggami. Nie używaj go w prawdziwym API: klienty, monitoring i logika ponawiania nie będą wiedzieć, co oznacza. Do blokowania ruchu wybierz 403 lub 429, a przy błędnych danych 400 lub 422, żeby narzędzia i ludzie mogli właściwie zareagować.
Błąd klienta (4xx)
Kody 4xx to błędy klienta: samo żądanie jest błędne, nieautoryzowane albo wskazuje na coś, czego nie ma. Ponowienie tego samego żądania nic nie da.
Jak to wygląda
HTTP/1.1 418 I’m a teapotJak go wysłać
| Node.js / Express | res.status(418).end() |
|---|---|
| Python / Flask | return '', 418 |
| nginx | return 418; |
Jak go sprawdzić
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/