Referenz:HTTP/Antwortcodes

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

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 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.

Im Folgenden wird mit „Client“ stets das anfragende Programm, z.B. ein Browser; mit „Server“ stets das antwortende Programm, z.B. der Server einer Webseite, bezeichnet.

Inhaltsverzeichnis

[Bearbeiten] 1xx: Informativ

Code Bezeichnung HTTP-Version Beschreibung
100 Continue Fortfahren
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
Die Anfrage war erfolgreich. Die Antwort enthält je nach Anfragemethode die angeforderten Daten.
201 Created Erzeugt
  • HTTP 1.0
  • HTTP 1.1
Die Anfrage hat dazu geführt, dass erfolgreich eine neue Resource erzeugt wurde. Deren URI kann im Antwortheader Location mitgeteilt werden.
202 Accepted Akzeptiert
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.1
Der Zugriff auf die Resource muss zwingend durch den Proxy erfolgen, der im Location-Header angegeben ist.
306 (unused) (nicht verwendet)
  • HTTP 1.1
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
  • HTTP 1.1

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 301-Status handzuhaben.

Da in alten Browser-Implementationen der 302-Status so gehandhabt wurde, dass unabhängig von der verwendeten Anfragemethode weitergeleitet wurde, führt HTTP 1.1 303 und 307 ein, um Servern die Möglichkeit zu geben, explizit die Weiterleitung zu kontrollieren. Ein weiteres Problem ist das URL-Hijacking, das dadurch umgangen werden soll.

[Bearbeiten] 4xx: Client-Fehler

Code Bezeichnung HTTP-Version Beschreibung
400 Bad Request Ungültige Anfrage
  • HTTP 1.0
  • HTTP 1.1
Der Client hat eine fehlerhafte Anfrage geschickt, die der Server aufgrund fehlerhafter Syntax nicht bearbeiten kann.
401 Unauthorized Unauthorisiert
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.1
Dieser Statuscode ist für zukünftige Verwendung reserviert.
403 Forbidden Verboten
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
Der Server konnte die vom Client angeforderte Ressource nicht finden. Häufigste Ursache ist ein sogenannter toter Verweis.

Der 404-Status kann ebenfalls zurückgeliefert werden, wenn kein anderer Statuscode zutreffend ist oder der Client bewusst ohne Angabe eines näheren Grundes abgewiesen werden soll.

405 Method Not Allowed Methode nicht erlaubt
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.1
Ä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
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.1
Die Ressource existiert nicht mehr, der Server kennt aber keine Weiterleitungsadresse. Dieser Zustand ist als dauerhaft anzunehmen.
411 Length Required Länge benötigt
  • HTTP 1.1
Die Bearbeitung der Anfrage ohne „Content-Length“-Header wird vom Server abgelehnt.
412 Precondition Failed Vorbedingung missglückt
  • HTTP 1.1
Eine vom Client vorgegebene Bedingung ist nicht erfüllbar.
413 Request Entity Too Large Anfrage-Entität zu groß
  • HTTP 1.1
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
  • HTTP 1.1
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
  • HTTP 1.1
Der angefragte Medien- oder MIME-Typ wird nicht unterstützt.
416 Requested range not satisfiable Anfrage-Bereich nicht erfüllbar
  • HTTP 1.1
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
  • HTTP 1.1
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.
451 Unavailable For Legal Reasons Ressource aus rechtlichen Gründen nicht verfügbar
  • HTTP 1.1
Die Ressource ist (in einem bestimmten Land) aus rechtlichen Gründen (z. B. Copyright oder Zensur) nicht verfügbar. 2015 eingeführt und nach Ray Bradburys Roman Fahrenheit 451 benannt[1].

[Bearbeiten] 5xx: Server-Fehler

Code Bezeichnung HTTP-Version Beschreibung
500 Internal Server Error Interner Server-Fehler
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
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
  • HTTP 1.0
  • HTTP 1.1
Der Dienst ist derzeit nicht verfügbar. Dies kann aufgrund hohen Datenaufkommens oder wegen Wartungsarbeiten passieren.
504 Gateway Time-out Portal-Auszeit
  • HTTP 1.1
Der Proxy kann die Anfrage wegen einer Zeitüberschreitung nicht bearbeiten.
505 HTTP Version Not Supported HTTP-Version nicht unterstützt
  • HTTP 1.1
Die angeforderte HTTP-Version wird nicht unterstützt.

[Bearbeiten] Weiterführende Links

  • Die HTTP-Statuscodes werden für HTTP 1.0 in RFC 1945 und für HTTP 1.1 in RFC 2616 definiert.
  • RFC 2518 definiert die Erweiterungen von HTTP 1.1 für WebDAV.
  • In RFC 2324 wird der Statuscode 418 I'm a Teapot definiert, das RFC ist jedoch ein Aprilscherz.
  • Wikipedia-Artikel über HTTP-Statuscodes

[Bearbeiten] Quellen

  1. An HTTP Status Code to Report Legal Obstacles, IETF, 29.02.2016
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Schnell‑Index
Mitmachen
Werkzeuge
Spenden
SELFHTML