418 I’m a teapot

Ein Aprilscherz von 1998, der sich gehalten hat.

Wann du ihn verwendest

Nur für Easter Eggs.

Häufige Ursachen und Lösungen

418 stammt aus RFC 2324, dem Hyper Text Coffee Pot Control Protocol, einem Aprilscherz-RFC von 1998. Der Code war nie Teil von HTTP, aber viele Frameworks implementieren ihn, und ein Vorschlag von 2017, ihn aus Node.js und Go zu entfernen, wurde nach einer öffentlichen Kampagne fallen gelassen. RFC 9110 markiert den Code inzwischen als reserviert, sodass ihn nichts anderes belegen kann.

In freier Wildbahn begegnet dir 418, wenn eine Website oder ein Bot-Filter Scrapern damit „Verschwinde“ signalisiert, oder auf Easter-Egg-Seiten. Nutze ihn nicht in einer echten API: Clients, Monitoring und Retry-Logik wissen nicht, was er bedeutet. Wähle 403 oder 429, um Traffic zu blockieren, und 400 oder 422 für ungültige Eingaben, damit Tools und Menschen richtig reagieren können.

Client-Fehler (4xx)

4xx-Codes sind Client-Fehler: Die Anfrage selbst ist fehlerhaft, nicht autorisiert oder verweist auf etwas, das es nicht gibt. Dieselbe Anfrage erneut zu senden hilft nicht.

So sieht es aus

HTTP/1.1 418 I’m a teapot

So sendest du ihn

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

So prüfst du ihn

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

HTTP-Statuscodes öffnen