HTTP-Statuscodes
Läuft komplett in deinem Browser. Deine Dateien und Daten verlassen dein Gerät nie.
| 1xxInformativ | ||
|---|---|---|
| 100 | Continue | Der Anfang einer Anfrage wurde empfangen und der Client sollte fortfahren. |
| 101 | Switching Protocols | Der Server stimmt zu, das Protokoll wie vom Client angefordert zu wechseln. |
| 102 | Processing | Der Server hat die Anfrage erhalten und verarbeitet sie, aber es liegt noch keine Antwort vor. |
| 103 | Early Hints | Wird verwendet, um einige Antwort-Header vor der endgültigen HTTP-Nachricht zurückzugeben. |
| 2xxErfolg | ||
| 200 | OK | Die Anfrage war erfolgreich. |
| 201 | Created | Die Anfrage war erfolgreich und dabei wurde eine neue Ressource erstellt. |
| 202 | Accepted | Die Anfrage wurde empfangen, aber noch nicht bearbeitet. |
| 203 | Non-Authoritative Information | Die zurückgegebenen Metadaten stimmen nicht genau mit denen des Ursprungsservers überein. |
| 204 | No Content | Der Server hat die Anfrage erfüllt, hat aber keinen Inhalt zurückzugeben. |
| 205 | Reset Content | Der Server fordert den Client auf, das Dokument zurückzusetzen, das diese Anfrage gesendet hat. |
| 206 | Partial Content | Der Server liefert aufgrund eines vom Client gesendeten Range-Headers nur einen Teil der Ressource. |
| 207 | Multi-Status | Vermittelt Informationen zu mehreren Ressourcen in Situationen, in denen mehrere Statuscodes angemessen wären. |
| 208 | Already Reported | Wird in einer DAV-Antwort verwendet, um die wiederholte Aufzählung der Mitglieder mehrerer Bindungen zu vermeiden. |
| 226 | IM Used | Der Server hat eine Anfrage nach der Ressource erfüllt, und die Antwort ist eine Darstellung des Ergebnisses von Instanzmanipulationen. |
| 3xxWeiterleitung | ||
| 300 | Multiple Choices | Für die Anfrage gibt es mehrere mögliche Antworten, und der Client sollte eine davon auswählen. |
| 301 | Moved Permanently | Die Ressource wurde dauerhaft an eine neue URL verschoben. |
| 302 | Found | Die Ressource befindet sich vorübergehend unter einer anderen URL. |
| 303 | See Other | Die Antwort ist unter einer anderen URL zu finden und sollte per GET abgerufen werden. |
| 304 | Not Modified | Die Ressource wurde seit der in den Anfrage-Headern angegebenen Version nicht geändert. |
| 305 | Use Proxy | Auf die angeforderte Ressource muss über den im Location-Feld angegebenen Proxy zugegriffen werden. |
| 307 | Temporary Redirect | Die Ressource befindet sich vorübergehend unter einer anderen URL, die Methode sollte sich nicht ändern. |
| 308 | Permanent Redirect | Die Ressource wurde dauerhaft verschoben, die Methode sollte sich nicht ändern. |
| 4xxClient-Fehler | ||
| 400 | Bad Request | Der Server kann die Anfrage aufgrund eines Client-Fehlers nicht verarbeiten. |
| 401 | Unauthorized | Der Client muss sich authentifizieren, um die angeforderte Antwort zu erhalten. |
| 402 | Payment Required | Für zukünftige Verwendung reserviert, ursprünglich für digitale Zahlungssysteme gedacht. |
| 403 | Forbidden | Der Client hat keine Zugriffsrechte auf den Inhalt. |
| 404 | Not Found | Der Server kann die angeforderte Ressource nicht finden. |
| 405 | Method Not Allowed | Die Anfragemethode ist dem Server bekannt, wird aber von der Zielressource nicht unterstützt. |
| 406 | Not Acceptable | Der Server kann keine Antwort erzeugen, die der Liste akzeptabler Werte entspricht. |
| 407 | Proxy Authentication Required | Der Client muss sich zunächst beim Proxy authentifizieren. |
| 408 | Request Timeout | Der Server hat beim Warten auf die Anfrage eine Zeitüberschreitung erreicht. |
| 409 | Conflict | Die Anfrage steht im Konflikt mit dem aktuellen Zustand der Zielressource. |
| 410 | Gone | Der angeforderte Inhalt wurde dauerhaft vom Server gelöscht und wird nicht zurückkehren. |
| 411 | Length Required | Der Server weigert sich, die Anfrage ohne definierten Content-Length-Header anzunehmen. |
| 412 | Precondition Failed | Eine der Bedingungen in den Anfrage-Headern wurde nicht erfüllt. |
| 413 | Payload Too Large | Die Anfrageentität ist größer als die vom Server festgelegten Grenzwerte. |
| 414 | URI Too Long | Die vom Client angeforderte URI ist länger, als der Server bereit ist zu verarbeiten. |
| 415 | Unsupported Media Type | Das Medienformat der angeforderten Daten wird vom Server nicht unterstützt. |
| 416 | Range Not Satisfiable | Der im Range-Header angegebene Bereich kann nicht erfüllt werden. |
| 417 | Expectation Failed | Die im Expect-Header angegebene Erwartung konnte nicht erfüllt werden. |
| 418 | I'm a Teapot | Der Server weigert sich, Kaffee zu kochen, weil er dauerhaft eine Teekanne ist. |
| 419 | Page ExpiredInoffiziell | Nicht standardisiert. Laravel gibt ihn zurück, wenn das mit einem Formular gesendete CSRF-Token nicht zur Sitzung passt, meist weil die Sitzung abgelaufen ist, während die Seite offen war. |
| 420 | Enhance Your CalmInoffiziell | Nicht standardisiert. Die alte Such- und Trends-API von Twitter schickte ihn an Clients, die das Anfragelimit überschritten hatten; der Standardcode dafür ist 429. Spring Framework definierte 420 außerdem als Method Failure, inzwischen veraltet. |
| 421 | Misdirected Request | Die Anfrage wurde an einen Server gerichtet, der keine Antwort erzeugen kann. |
| 422 | Unprocessable Content | Die Anfrage war syntaktisch korrekt, konnte aber wegen semantischer Fehler nicht verarbeitet werden. |
| 423 | Locked | Die Ressource, auf die zugegriffen wird, ist gesperrt. |
| 424 | Failed Dependency | Die Anfrage schlug fehl, weil sie von einer anderen fehlgeschlagenen Anfrage abhing. |
| 425 | Too Early | Der Server ist nicht bereit, das Risiko einzugehen, eine möglicherweise wiederholte Anfrage zu verarbeiten. |
| 426 | Upgrade Required | Der Server weigert sich, die Anfrage mit dem aktuellen Protokoll auszuführen. |
| 428 | Precondition Required | Der Ursprungsserver verlangt, dass die Anfrage bedingt gestellt wird. |
| 429 | Too Many Requests | Der Client hat in einem bestimmten Zeitraum zu viele Anfragen gesendet. |
| 431 | Request Header Fields Too Large | Der Server weigert sich, die Anfrage zu verarbeiten, weil ihre Header-Felder zu groß sind. |
| 444 | No ResponseInoffiziell | Nicht standardisiert. Ein nginx-Code, der die Verbindung schließt, ohne eine Antwort zu senden; er erscheint in den Server-Logs, nie im Browser. |
| 451 | Unavailable For Legal Reasons | Die angeforderte Ressource ist aufgrund einer rechtlichen Forderung zur Zugriffsverweigerung nicht verfügbar. |
| 499 | Client Closed RequestInoffiziell | Nicht standardisiert. nginx protokolliert ihn, wenn der Client die Verbindung schließt, bevor der Server seine Antwort fertig gesendet hat. |
| 5xxServer-Fehler | ||
| 500 | Internal Server Error | Der Server ist auf eine Situation gestoßen, mit der er nicht umzugehen weiß. |
| 501 | Not Implemented | Die Anfragemethode wird vom Server nicht unterstützt und kann nicht verarbeitet werden. |
| 502 | Bad Gateway | Der Server hat als Gateway eine ungültige Antwort vom vorgelagerten Server erhalten. |
| 503 | Service Unavailable | Der Server ist nicht bereit, die Anfrage zu bearbeiten, häufig wegen Wartung oder Überlastung. |
| 504 | Gateway Timeout | Der Server hat als Gateway keine rechtzeitige Antwort erhalten. |
| 505 | HTTP Version Not Supported | Die in der Anfrage verwendete HTTP-Version wird vom Server nicht unterstützt. |
| 506 | Variant Also Negotiates | Der Server weist einen internen Konfigurationsfehler bei der transparenten Inhaltsaushandlung auf. |
| 507 | Insufficient Storage | Der Server kann die zur Erfüllung der Anfrage erforderliche Darstellung nicht speichern. |
| 508 | Loop Detected | Der Server hat bei der Verarbeitung der Anfrage eine Endlosschleife erkannt. |
| 510 | Not Extended | Für die Erfüllung der Anfrage durch den Server sind weitere Erweiterungen erforderlich. |
| 511 | Network Authentication Required | Der Client muss sich authentifizieren, um Netzwerkzugang zu erhalten. |
| 599 | Network Connect Timeout ErrorInoffiziell | Ein nicht standardisierter Code, den manche Proxys verwenden, um eine Netzwerkverbindungs-Zeitüberschreitung hinter dem Proxy anzuzeigen. |
Über dieses Tool
Dies ist eine Referenzliste der HTTP-Statuscodes von 100 bis 599, die die fünf in RFC 9110 definierten Klassen abdeckt: informativ, Erfolg, Weiterleitung, Client-Fehler und Server-Fehler. Zu jedem Code stehen Name und eine kurze Beschreibung, und das Suchfeld filtert die Liste beim Tippen, indem es Codenummer, Name und Beschreibungstext durchsucht.
Was steht in der Liste?
Alle unter RFC 9110 registrierten Codes, dazu eine Handvoll weit verbreiteter Extras, die es nie in die Kernspezifikation geschafft haben, aber in echten APIs ständig auftauchen: 418 (der “Ich bin eine Teekanne”-Scherz aus RFC 2324), 429 (zu viele Anfragen) und 451 (aus rechtlichen Gründen nicht verfügbar). Tippe “404”, “not found” oder “gateway” ein, und nur die passenden Zeilen bleiben sichtbar, der Rest verschwindet. So musst du dich nicht durch fünf Klassen von Codes scrollen, um den gesuchten zu finden. Jede Zeile hat außerdem einen eigenen Link: Hängst du #419 an die Adresse dieser Seite, springst du direkt zu diesem Code.
Was bedeuten inoffizielle Fehlercodes wie HTTP 419 und 420?
Manche Codes stammen nicht aus einem RFC, sondern aus einem einzelnen Framework oder Server. Die Liste kennzeichnet sie mit dem Hinweis “Inoffiziell”. Den HTTP 419 Fehler (Page Expired) liefert Laravel, wenn das CSRF-Token aus einem Formular nicht zur Sitzung passt. Meist ist die Sitzung abgelaufen, während die Seite offen stand. Der HTTP-Fehlercode 420 (Enhance Your Calm) war die Antwort der alten Such- und Trends-API von Twitter an Clients, die zu viele Anfragen schickten. Der Standardcode dafür ist heute 429. Spring Framework nutzte 420 außerdem für Method Failure, das inzwischen als veraltet gilt. Dazu kommen zwei Codes von nginx: 444 schließt die Verbindung ohne jede Antwort, 499 heißt, dass der Client aufgelegt hat, bevor der Server fertig war. Beide siehst du in Server-Logs, nicht im Browser. Und 599 verwenden manche Proxys für ein Verbindungs-Timeout.
Braucht das eine Internetverbindung?
Nein. Die Liste ist statischer Inhalt, der direkt auf der Seite steht, beim Laden oder beim Suchen wird nichts von einem Server geladen. Die Suche ist deshalb sofort da, beim Filtern während des Tippens ist keine Anfrage an einen Server nötig.
Wann greife ich darauf zurück?
Praktisch ist das, wenn du eine API-Antwort debuggst und nicht mehr weißt, ob 422 dasselbe bedeutet wie 400, oder wenn du entscheiden musst, ob eine Weiterleitung 301, 302 oder 308 zurückgeben soll und dich an die Unterschiede erinnern willst. Nützlich ist es auch für seltenere Codes, die zu selten vorkommen, um sie auswendig zu kennen, etwa 409 (Konflikt), 416 (Bereich nicht erfüllbar) oder die Unterscheidung zwischen 502 (Bad Gateway) und 503 (Dienst nicht verfügbar). Details zu jedem Code, einschließlich der Methoden und Header, die typischerweise dazu passen, liefert die HTTP-Statuscode-Referenz von MDN.
Die fünf Klassen geben dir schon vor der genauen Nummer eine erste Einschätzung jeder Antwort. Ein Code, der mit 2 beginnt, bedeutet Erfolg, 3 heißt, dass du einer Weiterleitung folgen musst, 4 zeigt einen Fehler in der Anfrage selbst an, und 5 bedeutet, dass der Server versagt hat. Genau deshalb prüfen Server, Browser und API-Clients oft nur die erste Ziffer, bevor sie überhaupt genauer hinschauen, und es lohnt sich, diese Gewohnheit zu übernehmen, auch wenn man am Ende den genauen Code braucht. Nützlich ist die Liste nicht nur für Entwickler: Viele gewöhnliche Fehlerseiten zeigen nur eine nackte Zahl, und diese Liste übersetzt sie in einen verständlichen Satz.