- HTTP-Statuscodes
-
Jede HTTP-Anfrage wird vom Server mit einem HTTP-Statuscode beantwortet. Er gibt Informationen darüber, ob die Anfrage erfolgreich bearbeitet wurde oder teilt dem Client im Fehlerfall mit, wo (z. B. Umleitung) bzw. wie (z. B. mit Authentifizierung) er die gewünschten Informationen (wenn möglich) erhalten kann.
Status-Codes sind im RFC 2616 (sowie RFC 2518, RFC 2817, RFC 2295, RFC 2774, RFC 4918) spezifiziert. Einige gehören zum Distributed Authoring (WebDAV), andere unterliegen keiner Spezifikation, da diese von den Serverherstellern selbst erstellt wurden (z. B. Status-Code 449).
Die erste Ziffer trifft Aussage über die Status-Klasse.
1XX Informationen – Die Bearbeitung der Anfrage dauert trotzdem an. 100 Continue HTTP/1.1 WebDAV Die laufende Anfrage an den Server wurde noch nicht zurückgewiesen. (Wird im Zusammenhang mit dem „Expect: 100-continue“-Header-Feld verwendet, RFC 2616 §14.20: Expect header.) Der Client kann nun mit der (potentiell sehr großen) Anfrage fortfahren.
101 Switching Protocols HTTP/1.1 WebDAV Wird verwendet, wenn der Server eine Anfrage mit gesetztem „Upgrade“-Header-Feld empfangen hat und mit dem Wechsel zu einem anderen Protokoll einverstanden ist. 102 Processing WebDAV Wird verwendet, um ein Timeout zu vermeiden, während der Server eine zeitintensive Anfrage bearbeitet (RFC 2518). 2XX Erfolgreiche Operation – Die Bearbeitung der Anfrage kann durchgeführt werden. 200 OK HTTP/1.0 HTTP/1.1 WebDAV Die Anfrage wurde erfolgreich bearbeitet und das Ergebnis der Anfrage wird in der Antwort übertragen. 201 Created HTTP/1.0 HTTP/1.1 WebDAV Die Anfrage wurde erfolgreich bearbeitet. Die angeforderte Ressource wurde vor dem Senden der Antwort erstellt. Das „Location“-Header-Feld enthält eventuell die Adresse der erstellten Ressource. 202 Accepted HTTP/1.0 HTTP/1.1 WebDAV Die Anfrage wurde akzeptiert, wird aber zu einem späteren Zeitpunkt ausgeführt. Das Gelingen der Anfrage kann nicht garantiert werden. 203 Non-Authoritative Information HTTP/1.1 WebDAV Die Anfrage wurde bearbeitet, das Ergebnis ist aber nicht unbedingt vollständig und aktuell. 204 No Content HTTP/1.0 HTTP/1.1 WebDAV Die Anfrage wurde erfolgreich durchgeführt, die Antwort enthält jedoch bewusst keine Daten. 205 Reset Content HTTP/1.1 WebDAV Die Anfrage wurde erfolgreich durchgeführt; der Client soll das Dokument neu aufbauen und Formulareingaben zurücksetzen. 206 Partial Content HTTP/1.1 WebDAV Der angeforderte Teil wurde erfolgreich übertragen (wird im Zusammenhang mit einem „Content-Range“-Header-Feld oder dem Content-Type multipart/byteranges verwendet). Kann einen Client über Teil-Downloads informieren (wird z. B. von Wget genutzt, um den Downloadfortschritt zu überwachen oder einen Download in mehrere Streams aufzuteilen).
207 Multi-Status WebDAV Die Antwort enthält ein XML-Dokument, das mehrere Statuscodes zu unabhängig voneinander durchgeführten Operationen enthält. 3XX Umleitung – Um eine erfolgreiche Bearbeitung der Anfrage sicherzustellen, sind weitere Schritte seitens des Clients erforderlich. 300 Multiple Choice HTTP/1.0 HTTP/1.1 WebDAV Die angeforderte Ressource steht in verschiedenen Arten zur Verfügung. Die Antwort enthält eine Liste der verfügbaren Arten. Das „Location“-Header-Feld enthält eventuell die Adresse der vom Server bevorzugten Repräsentation. 301 Moved Permanently HTTP/1.0 HTTP/1.1 WebDAV Die angeforderte Ressource steht ab sofort unter der im „Location“-Header-Feld angegebenen Adresse bereit. Die alte Adresse ist nicht länger gültig. 302 Found HTTP/1.0 HTTP/1.1 WebDAV Die angeforderte Ressource steht vorübergehend unter der im „Location“-Header-Feld angegebenen Adresse bereit (in HTTP/1.0 „Moved Temporarily“, RFC 1945). Die alte Adresse bleibt gültig. Wird in HTTP/1.1 je nach Anwendungsfall durch die Statuscodes 301 bzw. 307 ersetzt. 302-Weiterleitung ist aufgrund eines Suchmaschinen-Fehlers, dem URL-Hijacking, in Kritik geraten. Webmaster sollten generell von der Verwendung eines solchen Redirects absehen. 303 See Other HTTP/1.1 WebDAV Die Antwort auf die durchgeführte Anfrage lässt sich unter der im „Location“-Header-Feld angegebenen Adresse beziehen. 304 Not Modified HTTP/1.0 HTTP/1.1 WebDAV Die durchgeführte Anfrage führt zur selben Antwort wie zur vom Client übermittelten Zeit im „If-Modified-Since“-Header-Feld oder sie passt zu dem im „If-None-Match“-Header-Feld gesendeten Entity-Tag. Sie wurde deshalb nicht mitübertragen. 305 Use Proxy HTTP/1.1 WebDAV Die angeforderte Ressource ist nur über einen Proxy erreichbar. Das „Location“-Header-Feld enthält die Adresse des Proxy. 306 (reserviert) HTTP/1.0 WebDAV 306 wird nicht mehr verwendet ist aber reserviert. Es wurde für "Switch Proxy" verwendet. 307 Temporary Redirect HTTP/1.1 WebDAV Die angeforderte Ressource steht vorübergehend unter der im „Location“-Header-Feld angegebenen Adresse bereit. Die alte Adresse bleibt gültig. 4XX Client-Fehler – Nicht klar von den so genannten Server-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Clients. 400 Bad Request HTTP/1.0 HTTP/1.1 WebDAV Die Anfrage-Nachricht war fehlerhaft aufgebaut. 401 Unauthorized HTTP/1.0 HTTP/1.1 WebDAV Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden. Wie die Authentifizierung durchgeführt werden soll, wird im „WWW-Authenticate“-Header-Feld der Antwort übermittelt. 402 Payment Required (reserviert) 403 Forbidden HTTP/1.0 HTTP/1.1 WebDAV Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt. Diese Entscheidung wurde – anders als im Fall des Statuscodes 401 – unabhängig von Authentifizierungsinformationen getroffen, auch etwa wenn eine als HTTPS konfigurierte URI nur mit HTTP aufgerufen wurde. 404 Not Found HTTP/1.0 HTTP/1.1 WebDAV Die angeforderte Ressource wurde nicht gefunden. Dieser Statuscode kann ebenfalls verwendet werden, um eine Anfrage ohne näheren Grund abzuweisen. Links, welche auf solche Fehlerseiten verweisen, werden auch als Tote Links bezeichnet. 405 Method Not Allowed HTTP/1.1 WebDAV Die Anfrage darf nur mit anderen HTTP-Methoden (z. B. GET statt POST) gestellt werden. Gültige Methoden für die betreffende Ressource werden im „Allow“-Header-Feld der Antwort übermittelt. 406 Not Acceptable HTTP/1.1 WebDAV Die angeforderte Ressource steht nicht in der gewünschten Form zur Verfügung. Gültige „Content-Type“-Werte können in der Antwort übermittelt werden. 407 Proxy Authentication Required HTTP/1.1 WebDAV Analog zum Statuscode 401 ist hier zunächst eine Authentifizierung des Clients gegenüber dem verwendeten Proxy erforderlich. Wie die Authentifizierung durchgeführt werden soll, wird im „Proxy-Authenticate“-Header-Feld der Antwort übermittelt. 408 Request Time-out HTTP/1.1 WebDAV Innerhalb der vom Server erlaubten Zeitspanne wurde keine vollständige Anfrage des Clients empfangen. 409 Conflict HTTP/1.1 WebDAV Die Anfrage wurde unter falschen Annahmen gestellt. Im Falle einer PUT-Anfrage kann dies zum Beispiel auf eine zwischenzeitliche Veränderung der Ressource durch Dritte zurückgehen. 410 Gone HTTP/1.1 WebDAV Die angeforderte Ressource wird nicht länger bereitgestellt und wurde dauerhaft entfernt. 411 Length Required HTTP/1.1 WebDAV Die Anfrage kann ohne ein „Content-Length“-Header-Feld nicht bearbeitet werden. 412 Precondition Failed HTTP/1.1 WebDAV Eine in der Anfrage übertragene Voraussetzung, zum Beispiel in Form eines „If-Match“-Header-Felds, traf nicht zu. 413 Request Entity Too Large HTTP/1.1 WebDAV Die gestellte Anfrage war zu groß, um vom Server bearbeitet werden zu können. Ein „Retry-After“-Header-Feld in der Antwort kann den Client darauf hinweisen, dass die Anfrage eventuell zu einem späteren Zeitpunkt bearbeitet werden könnte. 414 Request-URI Too Long HTTP/1.1 WebDAV Die URI der Anfrage war zu lang. Ursache ist oft eine Endlosschleife aus Redirects. 415 Unsupported Media Type HTTP/1.1 WebDAV Der Inhalt der Anfrage wurde mit ungültigem oder nicht erlaubtem Medientyp übermittelt. 416 Requested range not satisfiable HTTP/1.1 WebDAV Der angeforderte Teil einer Ressource war ungültig oder steht auf dem Server nicht zur Verfügung. 417 Expectation Failed HTTP/1.1 WebDAV Verwendet im Zusammenhang mit einem „Expect“-Header-Feld. Das im „Expect“-Header-Feld geforderte Verhalten des Servers kann nicht erfüllt werden. 421 There are too many connections from your internet address Verwendet, wenn die Verbindungshöchstzahl überschritten wird 422 Unprocessable Entity WebDAV Verwendet, wenn weder die Rückgabe von Statuscode 415 noch 400 gerechtfertigt wäre, eine Verarbeitung der Anfrage jedoch zum Beispiel wegen semantischer Fehler abgelehnt wird (RFC 4918). 423 Locked WebDAV Die angeforderte Ressource ist zurzeit gesperrt (RFC 4918). 424 Failed Dependency WebDAV Die Anfrage konnte nicht durchgeführt werden, weil sie das Gelingen einer vorherigen Anfrage voraussetzt (RFC 4918). 425 Unordered Collection WebDAV In den Entwürfen von WebDav Advanced Collections definiert, aber nicht im "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" (RFC 3648). 426 Upgrade Required WebDAV Der Client sollte auf Transport Layer Security (TLS/1.0) umschalten (RFC 2817). 5XX Server-Fehler – Nicht klar von den sogenannten Client-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Servers. 500 Internal Server Error HTTP/1.0 HTTP/1.1 WebDAV Dies ist ein „Sammel-Statuscode“ für unerwartete Serverfehler. 501 Not Implemented HTTP/1.0 HTTP/1.1 WebDAV Die Funktionalität, um die Anfrage zu bearbeiten, wird von diesem Server nicht bereitgestellt. Ursache ist zum Beispiel eine unbekannte oder nicht unterstützte HTTP-Methode. 502 Bad Gateway HTTP/1.0 HTTP/1.1 WebDAV Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen, weil er seinerseits eine ungültige Antwort erhalten hat. 503 Service Unavailable HTTP/1.0 HTTP/1.1 WebDAV Der Server steht, zum Beispiel wegen Überlast oder Wartungsarbeiten, zurzeit nicht zur Verfügung. Ein „Retry-After“-Header-Feld in der Antwort kann den Client auf einen Zeitpunkt hinweisen, zu dem die Anfrage eventuell bearbeitet werden könnte. 504 Gateway Time-out HTTP/1.1 WebDAV Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen, weil er innerhalb einer festgelegten Zeitspanne keine Antwort von seinerseits benutzten Servern oder Diensten erhalten hat. 505 HTTP Version not supported HTTP/1.1 WebDAV Die benutzte HTTP-Version (gemeint ist die Zahl vor dem Komma) wird vom Server nicht unterstützt oder abgelehnt. 506 Variant Also Negotiates (RFC 2295) 507 Insufficient Storage WebDAV Die Anfrage konnte nicht bearbeitet werden, weil der Speicherplatz des Servers dazu zurzeit nicht mehr ausreicht (RFC 4918). 509 Bandwidth Limit Exceeded Die Anfrage wurde verworfen, weil sonst die verfügbare Bandbreite überschritten werden würde (inoffizielle Erweiterung einiger Server). 510 Not Extended Die Anfrage enthält nicht alle Informationen, die die angefragte Server-Extension zwingend erwartet (RFC 2774). Siehe auch
Referenzen
- Hypertext Transfer Protocol (HTTP) Status Code Registry
- RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1
- RFC 2817: Upgrading to TLS Within HTTP/1.1
- RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
Weblinks
Wikimedia Foundation.