# 2.2.4 HTTP-Response: Statuscodes und Status-Line

Beim Server-Response, also der Antwort des Servers mittels HTTP, wird ein Status Code zurückgegeben. Dies ist eine dreistellige Nummer im Bereich von 100 - 599.

- 100 - 199 Request erhalten, Prozess wird ausgeführt
- 200 - 299 Erfolgreiche Bearbeitung
- 300 - 399 Änderungen, Verlagerungen – der Client muss eine weitere Aktion veranlassen
- 400 - 499 Fehler im Request
- 500 - 599 Fehlermeldungen des Servers

Eine Übersicht und einfache Erklärung aller Statuscodes finden Sie bei Wikipedia.

Ihr Browser unterstützt das Video-Tag nicht.

Anfragen an einen Webserver.

## Statuscodes

Eine Übersicht und einfache Erklärung aller Statuscodes finden Sie bei Wikipedia. Hier ausgewählte Statuscodes (fett = prüfungsrelevant)

- 101 Switching Protocols Der Server akzeptiert den Wechsel des Protokolls, z. B. von HTTP zu WebSocket.
- 200 OK Die Anfrage war erfolgreich, und die gewünschte Ressource wurde korrekt zurückgesendet.
- 201 Created Eine neue Ressource wurde erfolgreich erstellt. Typischer Statuscode der Methode PUT.
- 202 Accepted Die Anfrage wurde angenommen, aber die Verarbeitung ist noch nicht abgeschlossen oder erfolgt später.
- 204 No Content Die Anfrage war erfolgreich, aber es gibt keine Antwortdaten, oft für Lösch- oder Update-Requests.
- 206 Partial Content Der Server liefert nur einen angeforderten Teil der Ressource, oft für Video-Streaming.
- 301 Moved Permanently Die Ressource wurde dauerhaft verschoben, die neue Adresse steht im Location-Header.
- 302 Found Die Ressource wurde temporär verschoben, die neue Adresse steht im Location-Header. Besser 307 verwenden, da die Browser dann die Methode (GET, POST etc.) beibehalten
- 303 See Other Die Ressource ist unter einer anderen URL zu finden (steht im Location-Header), oft nach einer POST-Anfrage.
- 304 Not Modified Der Client soll die gecachte Version verwenden, da sich die Ressource nicht geändert hat.
- 307 Temporary Redirect Die Ressource wurde temporär verschoben, die neue Adresse steht im Location-Header.
- 400 Bad Request Die Anfrage war fehlerhaft oder unverständlich, oft wegen falscher Syntax oder ungültiger Daten.
- 401 Unauthorized Eine Authentifizierung ist erforderlich, aber entweder fehlt sie oder ist fehlerhaft.
- 403 Forbidden Der Zugriff auf die Ressource ist verboten, z. B. wegen fehlender Berechtigungen.
- 404 Not Found Die angeforderte Ressource konnte auf dem Server nicht gefunden werden.
- 405 Method Not Allowed Die verwendete HTTP-Methode ist für diese Ressource nicht erlaubt oder nicht unterstützt.
- 408 Request Time-out Der Server hat zu lange auf eine Antwort gewartet, möglicherweise wegen Überlastung.
- 451 Unavailable For Legal Reasons Der Zugriff auf diese Ressource wurde aus rechtlichen Gründen blockiert. Neuer Statuscode (seit 2016) in RFC 7725.
- 500 Internal Server Error Ein allgemeiner Serverfehler, z. B. fehlerhafter Code oder Konfigurationsproblem.
- 501 Not Implemented Der Server unterstützt die angeforderte Funktion oder Methode nicht.
- 502 Bad Gateway Ein Proxy oder Gateway hat eine ungültige Antwort vom eigentlichen Server erhalten.
- 503 Service Unavailable Der Server ist überlastet oder temporär nicht verfügbar, oft wegen Wartungsarbeiten.
- 504 Gateway Time-out Ein vorgelagertes Gateway oder Proxy hat keine rechtzeitige Antwort vom Zielserver erhalten.

Hinweis

Mit Statuscodes wurde und wird auch immer mal wieder "gespielt". So hat Google den ansonsten nicht vorhandenen Statuscode 418 definiert als 418 I'm a Teapot. Schauen Sie doch mal mit dem Web-Entwickler-Tool nach.

Auch der schon sehr früh eingeführte Statuscode 424 Site too ugly mit der Erklärung: Es wurde eine Webseite angefordert, die der Server aus ästhetischen Gründen nicht übermitteln kann. Header: Twentyseven-Frames: Yes, wenn die Seite aus mehr als 27 Frames besteht. Header: Under-Construction: Yes, wenn die Seite eine animierte „Under-Construction“-Grafik mit Bauarbeiter und Schaufel enthält. konnte sich leider noch nicht durchsetzen.