Referenz:HTTP/Antwortcodes
Aus SELFHTML-Wiki
Die Antwort- oder Statuscodes von HTTP bestimmen direkt die Bedeutung der Antwort auf eine HTTP-Anfrage. Sie werden stets in der ersten Zeile der Response (= Server-Antwort) in der Form
HTTP/1.1 Statuscode
übermittelt, wobei Statuscode aus einer dreistelligen Zahl und einer kurzen Beschreibung besteht. Die Statuscodes werden nach ihrer ersten Ziffer in Gruppen von unterschiedlicher Bedeutung eingeteilt.
Die folgende Liste ist nicht vollständig, da jede Anwendung von HTTP eigene Statuscodes definieren kann, wie es z.B. WebDAV tut. Sie deckt lediglich den Stand von HTTP 1.1 ab.
In der Praxis der Webentwicklung sind die wichtigsten Statuscodes 200, 404, 500 und 301-304.
Definitionen: Mit Client wird stets das anfragende Programm, z.B. ein Browser, bezeichnet. Mit Server wird stets das antwortende Programm, z.B. der Server einer Webseite, bezeichnet.
Inhaltsverzeichnis |
[Bearbeiten] 1xx: Informativ
| Code | Bezeichnung | HTTP-Version | Beschreibung |
|---|---|---|---|
100 Continue
| Fortfahren | Der Client soll die Anfrage fortsetzen. Diese Antwort dient dazu, den Client zu informieren, dass die Anfrage akzeptiert wurde, und er mit weiteren Daten fortfahren kann. In der Regel wird dieser Code nur gesendet, wenn der Client einen Header Expect: 100-continue im Request mitgesendet hat. | |
101 Switching Protocols
| Tausche Protokoll | Wenn die Anfrage einen Upgrade-Header enthält, der für den Server akzeptabel ist, wird das Ändern des Protokolls hiermit bestätigt. Direkt nach diesem Statuscode und einer Leerzeile beginnt der Server mit der Übertragung im neuen Protokoll. Ein Beispiel ist der Wechsel von HTTP auf HTTP über TLS nach RFC 2817.
|
[Bearbeiten] 2xx: Erfolg
| Code | Bezeichnung | HTTP-Version | Beschreibung |
|---|---|---|---|
200 OK
| OK | Die Anfrage war erfolgreich. Die Antwort enthält je nach Anfragemethode die angeforderten Daten. | |
201 Created
| Erzeugt | Die Anfrage hat dazu geführt, dass erfolgreich eine neue Resource erzeugt wurde. Deren URI kann im Antwortheader Location mitgeteilt werden.
| |
202 Accepted
| Akzeptiert | Die Anfrage wurde angenommen, wird aber noch nicht bearbeitet. Es ist nicht möglich, Statusinformationen zu erhalten, wenn die Bearbeitung tatsächlich stattfindet, z.B. einen Erfolg festzustellen. | |
203 Non-Authoritative Information
| Unverbindliche Information | Die Metainformationen im Antwort-Header entsprechen unter Umständen nicht denen, die vom Ursprungsserver gesendet wurden. Antwortfelder können z.B. von Proxys verändert werden. | |
204 No Content
| Kein Inhalt | Die Anfrage wurde akzeptiert und bearbeitet, allerdings existiert kein Inhalt, der zurückgesendet werden kann. Clients sollen in diesem Fall den alten Inhalt weiterhin anzeigen. | |
205 Reset Content
| Inhalt zurücksetzen | Die Anfrage wurde erfolgreich ausgeführt, und der Client wird angehalten, das bisher angezeigte Dokument in den Ursprungszustand zu versetzen. Dem entspricht z.B. das Drücken eines Reset-Buttons <input type="reset /> in einem HTML-Formular.
| |
206 Partial Content
| Partieller Inhalt | Falls die Anfrage einen Range-Header enthält, antwortet der Server mit diesem Statuscode, dass die Antwort im gewünschten Bereich zurückgesendet wird. Ein Beispiel sind unterbrochene und wieder aufgenommene Downloads.
|
[Bearbeiten] 3xx: Umleitung
| Code | Bezeichnung | HTTP-Version | Beschreibung |
|---|---|---|---|
300 Multiple Choices
| Mehrere Möglichkeiten | Die angeforderte Resource entspricht einem Set möglicher Resourcen, aus denen der Client wählen soll. Hat der Server ein bevorzugtes Ziel, soll dies in einem Location-Header mitgeschickt werden.
| |
301 Moved Permanently
| Dauerhaft verschoben | Der angeforderten Resource wurde permanent eine neue URI zugewiesen. Diese soll im Location-Header mitgeschickt werden. War die Anfrage-Methode GET oder HEAD, kann der Client automatisch zur neuen URI weiterleiten, andernfalls darf er es nur nach Nutzereingabe.
| |
302 Found
| Gefunden | Die angeforderte Resource wurde zwar gefunden, hat aber derzeit eine andere URI. Nichtsdestotrotz soll der Client weiterhin unter dieser URI nach dieser Resource anfragen. Weiterleitung ist analog zum 301-Status handzuhaben.
| |
303 See Other
| Siehe anderswo | Die Antwort kann unter einer anderen URI mit der GET-Methode geholt werden. Zweck ist es, nach einer POST-Anfrage nahtlos zu einer ausgewählten Resource weiterleiten zu können.
| |
304 Not Modified
| Nicht verändert | Die Resource hat sich seit der letzten Anfrage nicht geändert, die Antwort enthält keine Daten. Dies ist z.B. der Fall, wenn der Client durch einen If-Modified-Since-Header erklärt, dass er die Resource in einem älteren Stand bereits besitzt.
| |
305 Use Proxy
| Nutze Proxy | Der Zugriff auf die Resource muss zwingend durch den Proxy erfolgen, der im Location-Header angegeben ist.
| |
306 (unused)
| (nicht verwendet) | Der Statuscode wurde in einer früheren Version für die Antwort Switch Proxy reserviert, wird aber nicht mehr verwendet.
| |
307 Temporary Redirect
| Zeitweise Umleitung |
Die angeforderte Resource wurde zwar gefunden, hat aber derzeit eine andere URI. Der Client soll jedoch weiterhin unter dieser URI nach dieser Resource anfragen. Weiterleitung ist analog zum Da in alten Browser-Implementationen der |
[Bearbeiten] 4xx: Client-Fehler
| Code | Bezeichnung | HTTP-Version | Beschreibung |
|---|---|---|---|
400 Bad Request
| Ungültige Anfrage | Der Client hat eine fehlerhafte Anfrage geschickt, die der Server aufgrund fehlerhafter Syntax nicht bearbeiten kann. | |
401 Unauthorized
| Unauthorisiert | Die Anfrage kann ohne Authorisierung nicht verarbeitet werden. Zu diesem Zweck muss der Server einen WWW_Authenticate-Antwortheader mitschicken, der erläutert, wie die Authentifizierung vorzunehmen ist. HTTP definiert die zwei Methoden „Basic“ und „Digest“ vor. | |
402 Payment Required
| Bezahlung benötigt | Dieser Statuscode ist für zukünftige Verwendung reserviert. | |
403 Forbidden
| Verboten | Der Zugriff ist dauerhaft verboten. Eine Authorisation wird nicht anerkannt, und der Client soll die Anfrage nicht noch einmal stellen. | |
404 Not Found
| Nicht gefunden | Der Server konnte die vom Client angeforderte Ressource nicht finden. Häufigste Ursache ist ein sogenannter toter Verweis.
Der | |
405 Method Not Allowed
| Methode nicht erlaubt | Die Anfrage-Methode (wie GET oder POST) ist nicht erlaubt. Diese Antwort kann z.B. zurückkommen, wenn man WebDAV-Methoden verwendet, ohne dass der Server diese beherrscht. In einem Allow-Antwortheader muss der Server erlaubte Methoden auflisten. | |
406 Not Acceptable
| Nicht akzeptabel | Die Ressource kann nicht in einer vom Client angefragten Form geliefert werden. Z.B. kann nach einem Bild mit dem Medientyp image/gif angefragt werden, der Server findet aber nur einen Treffer für image/png.
| |
407 Proxy Authentication Required
| Proxy-Authentifizierung benötigt | Ähnlich wie die 401-Antwort erfordert diese Antwort eine Authentifizierung. In diesem Fall muss sich der Client allerdings gegenüber einem Proxy ausweisen. Der Proxy muss dazu das Antwortfeld Proxy-Authenticate mitliefern.
| |
408 Request Time-out
| Anfrage-Zeitüberschreitung | Die Anfrage wurde vom Client nicht in der vom Server vorgegebenen Zeit beendet. Der Fehler kann z.B. beim Hochladen großer Dateien auftreten. | |
409 Conflict
| Konflikt | Die Anfrage kann nicht bearbeitet werden, weil sich dadurch ein Konfliktfall bei der angefragten Ressource ergeben würde. Soll z.B. eine Ressource per PUT-Methode verändert werden, die aber auf dem Server bereits eine neuere Version aufweist, würde die Bearbeitung einen Konflikt erzeugen. | |
410 Gone
| Verschwunden | Die Ressource existiert nicht mehr, der Server kennt aber keine Weiterleitungsadresse. Dieser Zustand ist als dauerhaft anzunehmen. | |
411 Length Required
| Länge benötigt | Die Bearbeitung der Anfrage ohne „Content-Length“-Header wird vom Server abgelehnt. | |
412 Precondition Failed
| Vorbedingung missglückt | Eine vom Client vorgegebene Bedingung ist nicht erfüllbar. | |
413 Request Entity Too Large
| Anfrage-Entität zu groß | Der Inhalt der Anfrage (z.B. eine hochgeladene Datei) ist zu groß, die Anfrage wird abgelehnt. | |
414 Request-URI Too Large
| Anfrage-URI zu lang | Die Anfrage-URI ist zu lang. Der HTTP-Standard definiert keine feste Obergrenze für URI-Längen, d.h., das Erscheinen dieses Fehlers hängt vom Server-Programm und seiner internen Einstellung ab. | |
415 Unsupported Media Type
| Nicht unterstützter Medientyp | Der angefragte Medien- oder MIME-Typ wird nicht unterstützt. | |
416 Requested range not satisfiable
| Anfrage-Bereich nicht erfüllbar | Der angefragte Teilbereich der Ressource existiert nicht oder ist ungültig. Dies kann z.B. im Zusammenhang mit partiellen Downloads auftreten. | |
417 Expectation Failed
| Erwartung missglückt | Die Erwartung des Clients, ausgedrückt im „Expect“-Header, kann nicht erfüllt werden. Wenn der Server ein Proxy ist, kann das z.B. bedeuten, dass er die nächste Sprungadresse nicht ansteuern kann. |
[Bearbeiten] 5xx: Server-Fehler
| Code | Bezeichnung | HTTP-Version | Beschreibung |
|---|---|---|---|
500 Internal Server Error
| Interner Server-Fehler | Der Server entdeckt einen internen Fehler und kann deshalb die Anfrage nicht bearbeiten. Fehler in Programmen auf dem Server, z.B. PHP-Skripten, können diese Antwort provozieren. | |
501 Not Implemented
| Nicht implementiert | Der Server verfügt nicht über die nötige Funktionalität, um die Anfrage zu verarbeiten. Diese Antwort ist angemessen, wenn die in der Anfrage verwendete HTTP-Methode nicht erkannt oder unterstützt wird. | |
502 Bad Gateway
| Schlechtes Portal | Der Server, in diesem Fall ein Proxy, kann die Anfrage nicht ausführen, weil im weiteren Verlauf ein Fehler aufgetreten ist. | |
503 Service Unavailable
| Dienst nicht verfügbar | Der Dienst ist derzeit nicht verfügbar. Dies kann aufgrund hohen Datenaufkommens oder wegen Wartungsarbeiten passieren. | |
504 Gateway Time-out
| Portal-Auszeit | Der Proxy kann die Anfrage wegen einer Zeitüberschreitung nicht bearbeiten. | |
505 HTTP Version Not Supported
| HTTP-Version nicht unterstützt | Die angeforderte HTTP-Version wird nicht unterstützt. |
[Bearbeiten] Weiterführende Links
- RFC 2518 definiert die Erweiterungen von HTTP 1.1 für WebDAV.
- In RFC 2324 wird der Statuscode
418 I'm a Teapotdefiniert, das RFC ist jedoch ein Aprilscherz.
- Wikipedia-Artikel über HTTP-Statuscodes

