HTTPQUERY
Deutsch

418 I'm a teapot

Verwendung

Die Fehlermeldung 418 I’m a teapot entstand als einer der Aprilscherze der IETF. Der RFC legt fest, dass jede Teekanne, die zum Kochen von Kaffee aufgefordert wird, mit dieser Meldung antwortet. Konkret wird der resultierende Nachrichten-Body als kurz und gedrungen beschrieben.

Obwohl dieser Statuscode nicht produktiv eingesetzt wird, unterstützen ihn viele HTTP-Bibliotheken. Ein Vorstoß, den Statuscode zu entfernen, damit die Nummer für den offiziellen Gebrauch frei wird, stieß auf Widerstand und führte zur Initiative Save 418. Meldung und Statuscode bestehen fort.

Reservierung des Statuscodes

Die HTTP-Spezifikation reserviert den Statuscode 418 als “(Unused)”, um Konflikte mit den weit verbreiteten HTCPCP-Implementierungen zu vermeiden.

SEO-Auswirkung

Suchmaschinen wie Google indexieren keine URL mit dem Antwortstatus 418 I’m a teapot. Zuvor indexierte URLs werden aus den Suchergebnissen entfernt.

Beispiel

Der Client fordert an, Kaffee zu kochen, doch die Teekanne verweigert sich.

Anfrage

BREW coffee HTTP/1.1
Host: example.com
Content-Type: message/coffeepot
Content-Length: 5

start

Antwort

HTTP/1.1 418 I'm a teapot
Content-Type: text/html
Content-Length: 146

<html>
  <head>
    <title>Beverage not supported</title>
  </head>
  <body>
   <p>This is a teapot. Coffee is not supported.</p>
  </body>
</html>

Eine 418-Antwort auslösen

Eine 418-Antwort wird nur von Servern zurückgegeben, die für die Unterstützung des HTCPCP-Scherzprotokolls konfiguriert sind, oder von Anwendungen, die diesen Code ausdrücklich zurückgeben. Google liefert unter google.com/teapot als Easter Egg ein 418. Viele Web-Frameworks erlauben es, 418 durch direktes Setzen des Antwort-Statuscodes zurückzugeben. Kein Standard-HTTP-Server gibt 418 ohne bewusste Konfiguration zurück.

Geschichte von 418

Der Statuscode entstand 1998 als Teil einer Spezifikation zum 1. April für das Hyper Text Coffee Pot Control Protocol (HTCPCP). Eine Begleitspezifikation, die HTCPCP um Tee erweiterte, folgte 2014. Als die IETF 2017 erwog, den Code für den offiziellen Gebrauch zurückzuholen, widersprach die Entwicklergemeinde und rief die Bewegung Save 418 ins Leben. Letztlich reservierte die IETF den Code in der HTTP-Hauptspezifikation als “(Unused)”.

Code-Referenzen

.NET

StatusCodes.Status418ImATeapot

Rust

http::StatusCode::IM_A_TEAPOT

Go

http.StatusTeapot

Symfony

Response::HTTP_I_AM_A_TEAPOT

Python3.9+

http.HTTPStatus.IM_A_TEAPOT

Angular

@angular/common/http/HttpStatusCode.ImATeapot