letzte Änderung am: 29.01.2004
|
|
HTTP-Fehlermeldungen und Statuscodes | |
Die 404-Error-Meldung kennt wahrscheinlich jeder Internet-Surfer. Es handelt
sich dabei um Statusmeldungen des jeweiligen Webservers. Die 404 bedeutet
z.B. das die gewünschte Seite nicht gefunden wurde.
In folgender Übersicht habe ich alle gängigen HTTP-Statusmeldungen
zusammengefasst.
Sie finden hier alle
Codes der HTTP-Version 1.1 in fünf Gruppen. Die Liste basiert auf der
Übersetzung der Veröffentlichung des W3C (WWW Consortium).
|
Informelle Statusmeldungen 1xx: |
Informational 1xxDiese 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 kann die
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. |
|
Erfolgmeldungen 2xx: |
Successful 2xxDiese Gruppe enthält
Erfolgsmeldungen, die im Anschluss an eine erfolgreiche Transaktion
gesendet werden. Erfolgreiche Transaktionen resultieren aus dem
Verstehen, Aktzeptieren 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
erfolgversprechend 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-Meldungen 3xx: |
Redirection 3xxDiese 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-Fehlermeldungen 4xx: |
Client Error 4xxFehler 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. |
407 Proxy
authentication required Der Client hat eine Anfrage gestellt,
die vom Proxy autorisiert werden muss, bevor er ihn weiterleiten
kann. |
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-Fehler 5xx: |
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. |
|
|
|
|