418 I’m a teapot

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 teapot

Jak go wysłać

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

Jak go sprawdzić

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

Otwórz narzędzie Kody statusu HTTP