HTTP-Statuscode
Ein HTTP-Statuscode wird von einem Server auf jede HTTP-Anfrage als Antwort geliefert. Auf der anfragenden Seite steht dabei ein Client wie beispielsweise ein Webbrowser. Der Server teilt durch den HTTP-Statuscode dem Client mit, ob die Anfrage erfolgreich bearbeitet wurde. Im Fehlerfall gibt der Statuscode Auskunft darüber, wo (beispielsweise über eine Umleitung) oder wie (zum Beispiel mit Authentifizierung) er die gewünschten Informationen erhalten kann. Am bekanntesten sind dabei die Codes 404: „Nicht gefunden“, 403: „Fehlende Zugriffsberechtigung“ und 400: „Fehlerhafte Anfrage“.

Die erste Ziffer eines Statuscodes stellt die Statusklasse dar. Sie sind in RFC 9110 (ersetzt RFC 2616), sowie RFC 2518, RFC 2817, RFC 2295, RFC 2774 und RFC 4918 spezifiziert. Einige gehören zum Distributed Authoring (WebDAV).
Neben den in RFC standardisierten Statuscodes verwenden manche Softwarehersteller auch proprietäre Codes für eigens definierte Status- und Fehlermeldungen. Andere Software kann dem Benutzer diese Codes nur als allgemeinen unbekannten Fehler anzeigen; nicht aber eine Übersetzung und Hinweise zum weiteren Vorgehen. Teilweise können die Server den Begleitumständen der Anfrage bereits entnehmen, dass es sich um die zugehörige Spezialsoftware handelt, und geben nur dann die proprietären Codes zurück. In diesem Artikel sind einige proprietäre Codes aufgeführt und entsprechend gekennzeichnet.
Liste der HTTP-Statuscodes
1xx – Informationen
Die Bearbeitung der Anfrage dauert noch an.
2xx – Erfolgreiche Operation
Die Anfrage war erfolgreich, die Antwort kann verwertet werden.
3xx – Umleitung
Um eine erfolgreiche Bearbeitung der Anfrage sicherzustellen, sind weitere Schritte seitens des Clients erforderlich.
4xx – Client-Fehler
Die Ursache des Scheiterns der Anfrage liegt (eher) im Verantwortungsbereich des Clients.
5xx – Server-Fehler
Nicht klar von den so genannten Client-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Servers.
9xx – Proprietäre Fehler
Manche Softwarehersteller verwenden den Bereich ab 900 für proprietäre Statuscodes. Dieser Zahlenbereich wurde in den RFC-Dokumenten nie erwähnt und liegt offensichtlich jenseits der standardisierten Codes. Dadurch ist er leicht als Sonderfall erkennbar.
Zwischenspeicherung von Warncodes (veraltet)
Die folgenden Caching-Warncodes wurden in RFC 7234 festgelegt. Im Gegensatz zu den anderen oben genannten Statuscodes wurden diese nicht als Antwortstatus im HTTP-Protokoll gesendet, sondern als Teil des HTTP-Headers Warning
.
Da dieser "Warning"-Header häufig weder von den Servern gesendet noch von den Clients bestätigt wird, wurden dieser Header und seine Codes von der HTTP-Arbeitsgruppe im Jahr 2022 mit RFC 9111 überflüssig gemacht.
- 110 Response is Stale
- Die von einem Cache bereitgestellte Antwort ist veraltet (das Alter des Inhalts übersteigt ein durch einen Cache-Control-Header oder eine heuristisch gewählte Lebensdauer festgelegtes Höchstalter).
- 111 Revalidation Failed
- Der Cache war nicht in der Lage, die Antwort zu validieren, da der Ursprungsserver nicht erreicht werden konnte.
- 112 Disconnected Operation
- Der Cache ist absichtlich vom übrigen Netz getrennt.
- 113 Heuristic Expiration
- Der Cache hat heuristisch eine Frischezeit von mehr als 24 Stunden gewählt, und das Alter der Antwort ist größer als 24 Stunden.
- 199 Miscellaneous Warning
- Beliebige, unspezifische Warnung. Der Warntext kann protokolliert oder dem Benutzer angezeigt werden.
- 214 Transformation Applied
- Wird von einem Proxy hinzugefügt, wenn er eine Transformation auf die Darstellung anwendet, z. B. eine Änderung der Inhaltskodierung, des Medientyps oder ähnliches.
- 299 Miscellaneous Persistent Warning
- Wie 199, aber mit dem Hinweis auf eine anhaltende Warnung.
Inoffizielle Statuscodes
Internet Information Services
Der Webserver Internet Information Services (IIS) von Microsoft erweitert den 4xx-Fehlerbereich, um Fehler bei der Anfrage des Clients zu signalisieren.
- 440 Login Time-out
- Die Sitzung des Kunden ist abgelaufen und er muss sich erneut anmelden.
- 449 Retry With
- Der Server kann der Anfrage nicht nachkommen, weil der Benutzer die erforderlichen Informationen nicht angegeben hat.
- 451 Redirect
- Wird in Exchange ActiveSync verwendet, wenn entweder ein effizienterer Server verfügbar ist oder der Server nicht auf das Postfach des Benutzers zugreifen kann. Vom Client wird erwartet, dass er den HTTP-AutoDiscover-Vorgang erneut ausführt, um einen geeigneteren Server zu finden.
IIS verwendet manchmal zusätzliche dezimale Sub-Codes für spezifischere Informationen. Diese Sub-Codes erscheinen jedoch nur in der Nutzlast der Antwort und in der Dokumentation, nicht anstelle eines eigentlichen HTTP-Status-Codes.
Cloudflare
Der Reverse-Proxy-Dienst von Cloudflare erweitert den 5xx-Fehlerbereich, um Probleme mit dem Ursprungsserver zu signalisieren.
- 520 Web Server Returned an Unknown Error
- Der Ursprungsserver hat eine leere, unbekannte oder unerwartete Antwort an Cloudflare zurückgegeben.
- 521 Web Server Is Down
- Der Ursprungsserver hat Verbindungen von Cloudflare abgelehnt. Möglicherweise blockieren Sicherheitslösungen auf dem Ursprungsserver legitime Verbindungen von bestimmten Cloudflare-IP-Adressen.
- 522 Connection Timed Out
- Cloudflare hat die Kontaktaufnahme mit dem Ursprungsserver abgebrochen.
- 523 Origin Is Unreachable
- Cloudflare konnte den Ursprungsserver nicht erreichen; zum Beispiel, wenn die DNS-Eintrage für den Ursprungsserver falsch sind oder fehlen.
- 524 A Timeout Occurred
- Cloudflare war in der Lage, eine TCP-Verbindung zum Ursprungsserver herzustellen, erhielt aber keine zeitnahe HTTP-Antwort.
- 525 SSL Handshake Failed
- Cloudflare konnte keinen SSL/TLS-Handshake mit dem Ursprungsserver aushandeln.
- 526 Invalid SSL Certificate
- Cloudflare konnte das SSL-Zertifikat auf dem Ursprungs-Webserver nicht validieren.
- 527 Railgun Error
- Der Fehler 527 weist auf eine unterbrochene Verbindung zwischen Cloudflare und dem Railgun-Server des Herkunftsservers hin.
- 530
- Der Fehler 530 wird zusammen mit einem 1xxx-Fehler zurückgegeben.
Siehe auch
Weblinks
- Hypertext Transfer Protocol (HTTP) Status Code Registry. IANA
- HTTP Statuscodes. http-statuscode.com
- apache-status-code-headers. askapache.com
- Roy Fielding, Julian Reschke: RFC: – Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. Juni 2014, Abschnitt 6: Response Status Codes. (englisch).