Hendrik Schimmele

URL: www.hjsch.de/?INFOs_-_Web___Interessantes___Die_Server_Status-Codes

Die Server Status-Codes

Informational 1xx
Diese Gruppe enthält einfache informelle Antworten, die nur aus der Statuszeile und optional verfügbaren Headern bestehen. Der Code wird durch eine Leerzeile abgeschlossen. 1xx-Codes sind unter HTTP 1.0 nicht explizit definiert, so dass Server, die einen HTTP 1.0-Client bedienen, diese Codes nicht unbedingt ausgeben müssen.

100 Continue

Der Client kanndie Anfragen fortsetzen. Damit wird der Client informiert, dass die bisher empfangenen Anfragen erkannt wurden, die Antwort bearbeitet wird, möglicherweise aber noch zusätzliche Informationen nötig sind, um korrekt zu antworten. Der Client sollte unmittelbar danach den Rest der Anfrage senden oder diese Meldung ignorieren, wenn er bereits fertig ist. Der Server muss eine abschliessende Meldung senden, wenn die Anfrage komplett ist.

101 Switching Protocols

Der Server hat eine Anfrage nach dem Wechsel des Applikationsprotokolls verstanden und ist mit dem Wechsel einverstanden. Der Server wechselt zu den Protokollen, die im Antwort-Header-Feld definiert wurden. Diese Information steht unmittelbar hinter der Leerzeile, die die Meldung 101 abschliesst. Die Änderung des Protokolls sollte nur dann benutzt werden, wenn sich für die folgende Übertragung tatsächlich ein Vorteil ergibt.

Successful 2xx

Diese Gruppe enthält Erfolgsmeldungen, die im Anschluss an eine erfolgreiche Transaktion gesendet werden. Erfolgreiche Transaktionen resultieren aus dem Verstehen, Akzeptieren oder Empfangen von Daten.

200 OK

Die Anfrage wurde erfolgreich bearbeitet. Die Information, die zusätzlich zur Anfrage gesendet wurde, hängt von der Art der Anfrage ab. Nach GET werden die Daten im Body mitgeliefert, die angefordert wurden. Nach HEAD werden die Headerdaten geliefert. Mit POST wird eine Beschreibung oder der Inhalt einer Aktion gesendet. Bei TRACE wird die Anfrage geliefert, die der Server verstanden hat.

201 Created

Die Anfrage wurde ausgeführt und führte zu einer neuen Ressource (Datenquelle), die erfolgreich erzeugt wurde. Die neu erzeugte Ressource kann durch verschiedene Informationen, die im Body der Meldung stehen, beschrieben werden. Antworten können eine oder mehrere URLs sein. Wenn der Server 201 sendet, ist die Ressource bereits erzeugt. Dauert die Aktion an, auch wenn sie Erfolg versprechend verläuft, sendet der Server die Meldung 202.

202 Accepted

Die Anfrage wurde verstanden und akzeptiert, aber noch nicht abschliessend ausgeführt. Diese Meldung sollte nicht eingesetzt werden, um mehrstufige Transaktionen zu überwachen. Sie erlaubt es aber beispielsweise Batchprozessen automatisch und kontinuierlich zu laufen, ohne dass der Server jede Aktion sofort ausführt. Im Body sollte eine Information stehen, die über den Verlauf der Aktion berichtet (Erwartete Ausführungszeit, Status, Zwischenbericht).

203 Non-Authoritative Information

Der Header enthält zusätzliche (Meta)-Informationen, die nicht vom Webserver selbst erzeugt wurden, sondern von einer Software, die von einem weiteren Anbieter auf dem System eingesetzt wird (Third-Party-Software). Der Einsatz macht nur Sinn, wenn die Meldung 200 unzureichend ist.

204 No Content

Der Server hat die Anfrage verstanden, es gibt aber nichts zu senden. Damit wird der Client informiert, dass er seine Sicht der Inhalte (HTML-Seite, Formular) nicht ändern muss. Die Meldung wird mit der Leerzeile beendet.

205 Reset Content

Die Anfrage wurde erfolgreich ausgeführt, und der Client sollte nun das Dokument neu aufbauen. Bei Formularen sollte der Client die Felder löschen und die erneute Eingabe der Daten ermöglichen.

206 Partial Content

Der Server beantwortet die Anforderung eines Teils der Daten mit GET. Die Header müssen Informationen über die Grösse und Art der Daten enthalten (Range und Content-Range Header).

Redirection 3xx

Diese Klasse beschreibt Statuscodes, die weitere Aktionen des Clients verlangen.

300 Multiple Choices

Die Ressource enthält Informationen über mehrere Datenquellen an bestimmten Orten. Der Client wird aufgefordert, eine entsprechende Wahl zu treffen. Dieser Standard spezifiziert keine Vorschriften, die die Art und Weise der Transaktion beschreiben.

301 Moved Permanently

Die angeforderte Ressource wurde permanent an einen anderen Ort verschoben. Der Body der Meldung enthält die neuen URL. Wenn die Anfrage GET oder HEAD war, sollte der Client dem neuen Link automatisch folgen, ansonsten erst nach einer Bestätigung durch den Nutzer.

302 Moved Temporarily

Die angeforderte Ressource wurde nur zeitweilig verschoben. Die neue URL wird gesendet. Wenn die Anfrage GET oder HEAD war, sollte der Client dem neuen Link automatisch folgen, ansonsten erst nach einer Bestätigung durch den Nutzer.

303 See Other

Die Anfrage kann nur von einer anderen Stelle der Ressource angefordert werden. Der Client sollte dazu die GET-Methoden verwenden. Die Meldung bedeutet nicht, dass die Ressource verschoben wurde.

304 Not Modified

Das angeforderte Dokument hat sich seit der letzten Anforderung nicht geändert. Die Meldung enthält keine Daten im Body, dafür die folgenden Header-Felder:
Date (Datum) ETag und/oder Content-Location, wenn die Meldung 200 bereits erfolgte Expires (Verfallsdatum), Cache-Control (Speicher) und/oder Vary (Varianz), wenn es die Feldwerte erfordern

305 Use Proxy

Die Ressource, die angefordert wurde, sollte aus dem Cache des Proxys genommen werden, der im Location-Feld angegeben wurde. Der Client sollte die Anfrage erneut unter Nutzung des Proxy starten.

Client Error 4xx

Fehler auf der Clientseite. Der Server vermutet, dass die Ursache des Fehlers auf der Seite des Clients zu suchen ist.

400 Bad Request

Die Anfrage wurde nicht verstanden. Der Client sollte die Anfrage nicht wiederholen, ohne dass Änderungen vorgenommen wurden.

401 Unauthorized

Die Anfrage erforderte eine Authentifizierung des Nutzers. Die Antwort muss ein WWW-Authenticate-Header-Feld beinhalten

402 Payment Required

Bezahlung erfordert. Eine Meldung für die Zukunft.

403 Forbidden

Die Anfrage wurde verstanden, die Ausführung ist aber verboten. Es ist nicht das Problem einer mangelhaften Autorisierung, sondern die Anfrage ist grundsätzlich nicht erlaubt. Der Client sollte die Anfrage nie wiederholen.

404 Not Found

Die angeforderte Ressource wurde nicht gefunden. Meist bei Schreibfehlern oder gelöschten Dateien. Wurde die Ressource ohne Weiterleitung verschoben, sollte die Meldung 410 benutzt werden.

405 Method Not Allowed

Die Methode, die zur Ausführung spezifiziert wurde, ist für diese Ressource nicht erlaubt.

406 Not Acceptable

Es wurden bestimmte Charakteristiken zur Selektierung der Ressource gesendet und keine dieser Angaben führte zu einer Antwort.

408 Request Timeout

Der Client hat innerhalb der erwarteten oder zulässigen Wartezeit nicht reagiert.

409 Conflict

Durch den aktuellen Status der Ressource konnte die Anfrage nicht ausgeführt werden. Dieser Code sollte nur gesendet werden, wenn der Client in der Lage ist, darauf zu reagieren, oder der Fehler beim Client lag (Ressource falsch). Solche Zustände können bei der Verwendung der PUT-Methoden mit Programmen fremder Hersteller auftreten.

410 Gone

Die Ressource ist nicht mehr verfügbar und ein neuer Platz ist nicht bekannt.

411 Length Required

Bei der Anforderung fehlte die Längenangabe (Bytezahl) der Ressource.

412 Precondition Failed

Die in den Request Headern übergebene Precondition ist falsch oder wurde nicht verstanden.

413 Request Entity Too Large

Der Server meint, dass die angeforderte Ressource zu gross ist, um übertragen zu werden.

414 Request-URL Too Long

Die URL war so lang, dass der Server sie nicht mehr bearbeiten konnte. Passiert vor allem bei sehr langen GET- und POST-Methoden.

415 Unsupported Media Type

Der Typ der Ressource und der in der Anfrage genannte Typ stimmen nicht überein. Der Typ wird nicht unterstützt.

Server Error 5xx

Diese Fehler werden angezeigt, wenn der Server selbst Probleme hat, eine Anfrage auszuführen. Die zusätzliche gelieferten Informationen im Body sollte der Client anzeigen.

500 Internal Server Error

Interner Server-Fehler; das können hardwarebedingte Fehlfunktionen sein (Speichermangel, Plattenfehler usw.). Die Meldung wird oft auch von der ASP-Engine erzeugt, wenn bestimmte Operationen, die normalerweise unter Regie des Betriebssystems erfolgen, nicht ausgeführt werden konnten. Das betrifft oft mangelnde Rechte für die Ausführung, Zugriff auf bereits von anderen Applikationen geöffneten Dateien oder falsche Pfadangaben.

501 Not Implemented

Die Anfrage konnte nicht nur für die benannte Ressource nicht ausgeführt werden, sondern wird grundsätzlich nicht unterstützt.

502 Bad Gateway

Wenn der Server als Proxy oder Gateway arbeitet, zeigt er damit an, dass der übergeordnete Server fehlerhafte Daten geliefert hat.

503 Service Unavailable

Der Server ist zeitweilig überlastet und kann keine weiteren Anfragen bearbeiten. Die Existenz dieses Codes bedeutet nicht, dass der Server bei jeder Überlastung wirklich noch auf neuen Anfragen reagiert.

504 Gateway Timeout

Wenn der Server als Proxy oder Gateway arbeitet, zeigt er damit an, dass der übergeordnete Server keine Daten innerhalb der erwartete Zeitspanne geliefert hat.

505 HTTP Version Not Supported

Das angeforderte Protokoll wird nicht unterstützt. Die unterstützten Protokolle werden im Body gesendet.