HTTP Response Status Codes

Einleitung

Die HTTP-Statuscodes geben Auskunft darüber, ob eine bestimmte HTTP-Anfrage erfolgreich abgeschlossen wurde. Die Statuscodes sind in fünf Gruppen eingeteilt: Informationen, erfolgreiche Operation, Umleitungen, Client-Fehler und Server-Fehler.

Informationen

Diese Statuscodes erscheinen, wenn die aktuelle Anfrage noch bearbeitet wird.

100 Continue

Dieser Status zeigt an, dass die Anfrage soweit akzeptiert wurde. Der Client kann nun mit der Anfrage fortfahren beziehungsweise die Antwort ignorieren, falls die Anfrage bereits abgeschlossen ist.

101 Switching Protocols

Als Antwort auf eine Upgrade: Anfrage des Protokolls erscheint dieser Statuscode, wenn der Server mit dem Wechsel einverstanden ist.

Erfolgreiche Operation

Ein solcher Statuscode erscheint, wenn die Anfrage erfolgreich war.

200 OK

Die Anfrage wurde erfolgreich beendet. Abhängig von der eingesetzten HTTP-Methode hat dieser Statuscode unterschiedliche Bedeutungen:

GET - Die Ressource wurde angefordert und wird im Nachrichteninhalt übertragen. HEAD - Im Nachrichteninhalt befindet sich der Header. POST - Die angeforderte Ressource als Ergebnis der Anfrage ist im Nachrichteninhalt angehängt. TRACE - Im Nachrichteninhalt befindet sich die Anfrage in der Form, in der sie beim Server eingetroffen ist.

201 Created

Die Anfrage wurde korrekt bearbeitet und die Ressource erstellt. Üblicherweise erscheint dieser Statuscode als Antwort auf eine PUT-Anfrage.

202 Accepted

Der Server hat die Anfrage erhalten und akzeptiert, diese aber noch nicht bearbeitet. Dieser Status ist für die Stapelverarbeitung gedacht oder den Fall, dass ein anderer Server oder Prozess die Anfrage bearbeitet, da es in HTTP keine asynchronen Antworten gibt.

203 Non-Authoritative Information

Dieser Statuscode deutet an, dass die zurückgesendeten Meta-Daten nicht direkt vom Server stammen, sondern von einer dritten oder lokalen Quelle kopiert wurden. Außer bei dieser Bedingung sollte der Status 200 OK für diese Form der Rückmeldung verwendet werden.

204 No Content

Auf die Anfrage wurde kein Inhalt versendet, jedoch könnte der Header wichtige Informationen bereitstellen. Der User kann den zwischengespeicherten Header mit den neuen Daten aktualisieren.

205 Reset Content

Dieser Statuscode wird übermittelt, wenn die Anfrage zur Zurücksetzung eines Dokuments abgeschlossen wurde.

206 Partial Content

Dieser Statuscode wird empfangen, wenn der Client eine Anfrage gesendet hat, den Download in mehrere Streams aufzuteilen.

Umleitungen

Diese HTTP-Statuscodes deuten an, dass weitere Schritte notwendig sind, um die Anfrage korrekt zu bearbeiten.

300 Multiple Choice

Die Anfrage führte zu mehreren gültigen Antworten. In der Antwort findet sich eine Liste, sodass der User eine genauere Auswahl treffen kann.

301 Moved Permanently

Die angeforderte Ressource ist nicht verfügbar, da sie permanent verschoben wurde. Möglicherweise findet sich in der Antwort die neue URI.

302 Found

Die angeforderte Ressource ist nicht verfügbar, da sie temporär verschoben wurde. Die ursprüngliche Adresse bleibt gültig und sollte weiterhin verwendet werden.

303 See Other

Vom Server wird dieser Statuscode als Antwort versendet, wenn die mit GET angeforderte Ressource an einer anderen URI bereitgestellt wird.

304 Not Modified

Dieser Statuscode kommt im Zusammenhang mit zwischengespeicherten Daten zum Einsatz. Er teilt dem Client mit, dass die Antwort nicht verändert wurde und die Information aus dem Cache weiterhin gültig ist.

305 Use Proxy

Dieser Statuscode zeigt an, dass ein Proxy eingesetzt werden muss, um Zugang zur Ressource zu erhalten. Der Code wird aufgrund von Sicherheitsbedenken nur selten unterstützt.

306 unused

Dieser Statuscode wird nicht mehr verwendet und ist zurzeit reserviert. Er kam in HTTP 1.1 zum Einsatz.

307 Temporary Redirect

Ein Server verschickt diesen Status, wenn die angeforderte Ressource an einer anderen URI mit der gleichen Methode angefordert werden soll. Der Status ähnelt dem 302 Found, jedoch wird hier verhindert, dass der Client die HTTP-Methode ändern kann. So muss bei der zweiten Anfragen ebenfalls POST verwendet werden, wenn die ursprüngliche Anfrage POST nutzte.

308 Permanent Redirect

Dieser Status zeigt an, dass die angeforderte Ressource permanent unter einen anderen URI verfügbar ist. Die Ressource ist unter der im Location: HTTP Header angegebenen Adresse zu finden. Der Statuscode hat eine ähnliche Funktion wie 301 Moved Permanently, mit der Ausnahme, dass der Client hier die HTTP-Methode nicht verändern darf. Wenn ursprünglich POST verwendet wurde, wird auch bei der zweiten Anfrage POST genutzt.

Client-Fehler

Bei diesen Statusmeldungen liegt ein Fehler auf der Client-Seite vor, die zum Scheitern der Anfrage führte.

400 Bad Request

Der Server konnte die gesendete Anfrage aufgrund einer fehlerhafter Syntax nicht verstehen.

401 Unauthorized

Zur Verarbeitung der Anfrage ist ein gülige Authentifizierung erforderlich. Liegt diese nicht vor, weist der Server den Client mit diesem Status Code ab.

402 Payment Required

Dieser Status ist für zukünftige Funktionen reserviert. Er ist für digitale Zahlungssysteme vorgesehen, wird aktuell jedoch nicht verwendet.

403 Forbidden

Dem Client fehlen die entsprechenden Berechtigungen (Authorisierung), sodass der Server die Anfrage ablehnt.

404 Not Found

Der Server kann die angeforderte Ressource nicht finden. Dieser Status ist einer der bekanntesten, da er häufig bei fehlerhaften Webadressen angezeigt wird.

405 Method Not Allowed

Die Anforderung des Clients ist dem Server bekannt, wurde jedoch deaktiviert. Dieser Status kann bei allen Methoden als Antwort erscheinen, mit Ausnahme der beiden Standards GET und HEAD

406 Not Acceptable

Diese Antwort wird versendet, wenn der Server auf der Suche nach einer Antwort keinen passenden Inhalt zur Anfrage des Clients gefunden hat.

407 Proxy Authentication Required

Ähnlich wie der Status 401, jedoch ist eine Anmeldung über einen Proxy notwendig.

408 Request Timeout

Dieser Status wird an Clients gesendet, die über einen bestimmten Zeitraum hinweg inaktiv waren. Diese Meldung wird ohne Anfrage des Clients versendet. Der Server möchte in diesem Fall die Verbindung unterbrechen und freigeben. In Kombination mit bestimmten Browsern, wie Chrome oder IE9, taucht diese Meldung häufiger auf, da hier Techniken zum Einsatz kommen, um das Surfen zu beschleunigen. Einige Server beenden inaktive Verbindungen auch ohne diese Meldung.

409 Conflict

Bei dieser Meldung besteht ein Konflikt zwischen der Anforderung und dem aktuellen Status des Servers.

410 Gone

Dieser Statuscode wird übertragen, wenn die angeforderte Ressource vom Server entfernt wurde.

411 Length Required

Der Server hat die Anforderung abgelehnt, da die Content-Length, also die Länge des Inhalts, im Header nicht definiert wurde, der Server dies jedoch zwingend erfordert.

412 Precondition Failed

Der Client hat bei der Anfrage Eigenschaften im Header definiert, die nicht mit dem Server kompatibel sind.

413 Payload Too Large

Die Anfrage ist größer, als das Maximum, das vom Server vorgegeben wurde. Eventuell beendet der Server die Verbindung oder sendet eine Retry-After Anforderung.

414 URI Too Long

Die vom Client angefragte URI ist länger als was der Server akzeptiert.

415 Unsupported Media Type

Der Server hat die Anfrage abgelehnt, da das Medienformat nicht unterstützt wird.

416 Requested Range Not Satisfiable

Die im Header definierte Wert für Range kann nicht erfüllt werden. Möglicherweise liegt der angegebene Wert außerhalb der maximalen Größe für die mögliche Ziel-URI.

417 Expectation Failed

Dieser Statuscode deutet an, dass der Wert, der im Header unter Expect definiert wurde, vom Server nicht erfüllt werden kann.

421 Misdirected Request

Die Anfrage wurde in einer Art gestellt, die vom Server nicht verarbeitet werden kann. Eventuell ist der Server so konfiguriert, dass er keine Antworten auf Anfragen senden kann, die in der Anforderungs-URI aus einer Kombination aus Schema und Berechtigung bestehen.

426 Upgrade Required

Der Server weigert sich, die Anfrage mit dem aktuellen Protokoll auszuführen. Nach einem Upgrade des Client-Protokolls ist eine Ausführung der Anfrage eventuell möglich. Der Server muss bei diesem Statuscode im Upgrade-Header-Feld einen kompatiblen Protokolltyp nennen.

428 Precondition Required

Der ursprüngliche Server erfordert, dass die Anfrage unter Vorbehalt ausgeführt wird. Dies soll verhindern, dass ein Client den Status eine Ressource abruft, ändert oder an den Server zurücksendet und sich dieser Status durch einen dritten Server verändert hat, was zu einem Konflikt führen würde.

429 Too Many Requests

Der Nutzer hat in zu kurzer Zeit zu viele Anfragen an den Server gesendet und der Server limitiert die Anzahl an Anfragen.

431 Request Header Fields Too Large

Der Server lehnt die Verarbeitung der Anfrage ab, da das Header-Feld zu groß ist. Sobald die Größe limitiert wurde, kann die Anfrage erneut gesendet und verarbeitet werden.

Die vom Benutzer angefragte Ressource ist illegal. Beispielsweise handelt es sich um eine Webseite, die von der Regierung zensiert wurde.

Server-Fehler

Diese HTTP-Status Codes deuten auf eine fehlerhaft Verarbeitung seitens des Servers hin. Die Anfrage konnte nicht korrekt verarbeitet werden.

500 Internal Server Error

Der Server ist auf einen internen Fehler gestoßen und kann diesen nicht umgehen.

501 Not Implemented

Die Anfragemethode wird vom Server nicht unterstützt und kann deshalb nicht verarbeitet werden. Grundsätzlich sind Server nur dazu verpflichtet, GET und HEAD zu unterstützen.

502 Bad Gateway

Der Server hat, während er als Gateway agierte, eine ungültige Antwort auf eine Anforderung erhalten, sodass eine Bearbeitung nicht möglich war.

503 Service Unavailable

Aktuell steht der Server nicht zur Verfügung. Die Gründe für den temporären Ausfall können Wartungsarbeiten oder eine Überlastung sein. Über Retry-After: im Header kann der Server dem Client übermitteln, wann der Service wieder zur Verfügung steht.

504 Gateway Timeout

Diese Statusmeldung erscheint, wenn der Server als Gateway agiert und in der vorgegebenen Frist keine passende Antwort erhalten hat.

505 HTTP Version Not Supported

Die in der Anfrage verwendete HTTP-Version wird vom Server nicht unterstützt.

506 Variant Also Negotiates

Auf dem Server ist ein interner Konfigurationsfehler aufgetreten. Die Anforderung führte zu einem Zirkelbezug, der nicht aufgelöst werden kann.

507 Variant Also Negotiates

Ein interner Konfigurationsfehler ist aufgetreten. Die Anfrage führte zu einer Schleife, sodass kein gültiger Start- oder Endpunkt festgelegt werden konnte.

511 Network Authentication Required

Dieser Statuscode zeigt an, dass der Client sich anmelden muss, um Zugriff zum Netzwerk zu erhalten.

Nach oben