HTTP-Statuscodes
Alle HTTP-Statuscodes verständlich erklärt: was sie bedeuten, typische Ursachen, wie man sie behebt, eine Beispielantwort und der RFC, der sie definiert.
70 Statuscodes
1xx Information
Vorläufige Antworten: Die Anfrage ist angekommen und wird weiter bearbeitet.
100 Continue Weiter Der Server hat die Request-Header erhalten und der Client darf den Body senden. Es ist eine vorläufige Antwort, die vor dem endgültigen Status kommt. 101 Switching Protocols Protokollwechsel Der Server wechselt auf das Protokoll, das der Client im Upgrade-Header angefordert hat, meist WebSocket. Nach dieser Antwort spricht die Verbindung das neue Protokoll. 102 Processing Wird verarbeitet Eine vorläufige WebDAV-Antwort, die dem Client mitteilt, dass der Server noch an einer langen Anfrage arbeitet und er nicht abbrechen soll. Sie ist veraltet und wird heute kaum noch gesendet. 103 Early Hints Frühe Hinweise Eine vorläufige Antwort, die Link-Header vorab sendet, damit der Browser CSS und Schriften vorladen oder Verbindungen zu anderen Origins aufbauen kann, während der Server die Seite noch erzeugt.
2xx Erfolg
Die Anfrage wurde empfangen, verstanden und angenommen.
200 OK OK Die Anfrage war erfolgreich. Bei GET enthält der Body die Ressource, bei POST das Ergebnis der Aktion. 201 Created Erstellt Die Anfrage war erfolgreich und hat eine neue Ressource erstellt. Der Location-Header zeigt meist darauf. 202 Accepted Akzeptiert Die Anfrage wurde zur Verarbeitung angenommen, die Verarbeitung ist aber noch nicht abgeschlossen. Das Ergebnis ist zum Zeitpunkt der Antwort unbekannt. 203 Non-Authoritative Information Nicht maßgebliche Information Die Anfrage war erfolgreich, aber ein transformierender Proxy hat den Inhalt der 200-Antwort des Ursprungsservers verändert. 204 No Content Kein Inhalt Die Anfrage war erfolgreich und es gibt keinen Body. Header können trotzdem Metadaten wie ein neues ETag enthalten. 205 Reset Content Inhalt zurücksetzen Die Anfrage war erfolgreich und der Client soll die Dokumentansicht zurücksetzen, etwa das abgeschickte Formular leeren. Es wird kein Body gesendet. 206 Partial Content Teilinhalt Der Server liefert nur einen Teil der Ressource, wie per Range-Header angefordert. Content-Range gibt an, welche Bytes enthalten sind. 207 Multi-Status Multi-Status Eine WebDAV-Antwort, deren XML-Body für jede der von einer Anfrage betroffenen Ressourcen einen eigenen Status enthält. 208 Already Reported Bereits gemeldet Wird in einem WebDAV-207-Body verwendet, um anzugeben, dass eine Ressource weiter oben bereits aufgeführt wurde, und vermeidet Duplikate, wenn Bindungen Schleifen bilden. 226 IM Used IM verwendet Der Server hat ein GET mit einer oder mehreren Instanzmanipulationen (Delta-Kodierung) beantwortet; der Body ist also ein Diff, nicht die vollständige Ressource.
3xx Umleitung
Der Client muss einen weiteren Schritt machen, meist einer neuen URL folgen.
300 Multiple Choices Mehrere Möglichkeiten Die Ressource hat mehrere Repräsentationen (Sprache, Format), und Client oder Nutzer sollen eine auswählen. Der Server kann per Location eine bevorzugte vorschlagen. 301 Moved Permanently Dauerhaft verschoben Die Ressource ist dauerhaft an die URL in Location umgezogen. Clients und Suchmaschinen sollen ab jetzt die neue URL verwenden. 302 Found Gefunden Die Ressource befindet sich vorübergehend unter einer anderen URL. Clients sollen für künftige Anfragen weiter die ursprüngliche URL verwenden. 303 See Other Siehe andere Der Server verweist den Client darauf, eine andere URL per GET abzurufen, typischerweise um das Ergebnis eines POST anzuzeigen. 304 Not Modified Nicht geändert Die zwischengespeicherte Kopie des Clients ist noch gültig, daher sendet der Server keinen Body. Antwort auf eine bedingte Anfrage mit If-None-Match oder If-Modified-Since. 305 Use Proxy Proxy verwenden Veraltet. Früher sollte der Client die Anfrage über den Proxy in Location wiederholen. Browser ignorieren ihn aus Sicherheitsgründen. 307 Temporary Redirect Temporäre Weiterleitung Die Ressource liegt vorübergehend unter einer anderen URL, und der Client muss die Anfrage dort mit derselben Methode und demselben Body wiederholen. 308 Permanent Redirect Permanente Weiterleitung Die Ressource ist dauerhaft umgezogen, und Clients müssen die Anfrage unter der neuen URL mit derselben Methode und demselben Body wiederholen.
4xx Client-Fehler
Die Anfrage hat ein Problem, das der Client beheben muss.
400 Bad Request Ungültige Anfrage Der Server kann die Anfrage nicht verarbeiten, weil sie fehlerhaft ist: ungültige Syntax, fehlerhaftes Framing oder nicht interpretierbare Werte. 401 Unauthorized Nicht autorisiert Der Anfrage fehlen gültige Anmeldedaten. Trotz des Namens bedeutet es „nicht authentifiziert“: Melden Sie sich an oder senden Sie ein gültiges Token. 402 Payment Required Zahlung erforderlich Für künftige Nutzung reserviert, in der Praxis aber von Diensten zurückgegeben, wenn eine Zahlung oder ein kostenpflichtiger Tarif nötig ist. 403 Forbidden Verboten Der Server hat die Anfrage verstanden, verweigert aber die Berechtigung. Erneutes Anmelden hilft nicht, solange sich die Rechte nicht ändern. 404 Not Found Nicht gefunden Der Server findet unter der angeforderten URL nichts. Er sagt nichts darüber, ob die Ressource je existiert hat oder zurückkommt. 405 Method Not Allowed Methode nicht erlaubt Die URL existiert, unterstützt aber die verwendete HTTP-Methode nicht. Der Allow-Header listet die funktionierenden Methoden. 406 Not Acceptable Nicht akzeptabel Der Server kann keine Antwort in einem Format erzeugen, das die Accept-Header des Clients zulassen. 407 Proxy Authentication Required Proxy-Authentifizierung erforderlich Ein Proxy zwischen Client und Server verlangt eine Authentifizierung, bevor er die Anfrage weiterleitet. 408 Request Timeout Zeitüberschreitung der Anfrage Der Server hat die Verbindung geschlossen, weil der Client nicht rechtzeitig eine vollständige Anfrage gesendet hat. 409 Conflict Konflikt Die Anfrage steht im Konflikt mit dem aktuellen Zustand der Ressource, etwa durch ein Duplikat oder eine gleichzeitige Bearbeitung. 410 Gone Entfernt Die Ressource ist dauerhaft verschwunden und keine neue Adresse ist bekannt. Anders als bei 404 erklärt der Server das bewusst. 411 Length Required Länge erforderlich Der Server verlangt einen Content-Length-Header, und die Anfrage enthielt keinen. 412 Precondition Failed Vorbedingung fehlgeschlagen Eine Vorbedingung in den Headern, etwa If-Match oder If-Unmodified-Since, war falsch, daher hat der Server die Anfrage nicht ausgeführt. 413 Content Too Large Inhalt zu groß Der Request-Body ist größer, als der Server verarbeiten will oder kann. Früher Payload Too Large genannt. 414 URI Too Long URI zu lang Die Request-URL ist länger, als der Server interpretieren will. 415 Unsupported Media Type Nicht unterstützter Medientyp Der Server lehnt die Anfrage ab, weil der Medientyp (Content-Type) oder die Kodierung des Bodys nicht unterstützt wird. 416 Range Not Satisfiable Bereich nicht erfüllbar Der Range-Header fordert Bytes außerhalb der Größe der Ressource an. 417 Expectation Failed Erwartung fehlgeschlagen Der Server kann die Anforderung im Expect-Header der Anfrage nicht erfüllen, meist Expect: 100-continue. 418 I'm a teapot Ich bin eine Teekanne Ein Aprilscherz aus dem Hyper Text Coffee Pot Control Protocol: Der Server ist eine Teekanne und weigert sich, Kaffee zu kochen. Manche Websites nutzen ihn als Scherz oder zum Blockieren von Bots. 421 Misdirected Request Fehlgeleitete Anfrage Die Anfrage hat einen Server erreicht, der nicht für diesen Host konfiguriert ist, oft weil eine HTTP/2-Verbindung für eine andere Domain wiederverwendet wurde. 422 Unprocessable Content Nicht verarbeitbarer Inhalt Die Anfrage ist wohlgeformt, enthält aber semantische Fehler, daher kann der Server sie nicht verarbeiten. Früher Unprocessable Entity. 423 Locked Gesperrt WebDAV: Die Ressource ist gesperrt, die Methode kann daher nicht angewendet werden. 424 Failed Dependency Abhängigkeit fehlgeschlagen WebDAV: Die Aktion ist fehlgeschlagen, weil sie von einer anderen Aktion derselben Anfrage abhing, die fehlgeschlagen ist. 425 Too Early Zu früh Der Server lehnt eine Anfrage ab, die als TLS-1.3-Early-Data (0-RTT) gesendet wurde, weil sie wiederholt eingespielt werden könnte. 426 Upgrade Required Upgrade erforderlich Der Server lehnt die Anfrage mit dem aktuellen Protokoll ab und verlangt ein Upgrade, etwa auf TLS oder HTTP/2, wie im Upgrade-Header angegeben. 428 Precondition Required Vorbedingung erforderlich Der Server verlangt, dass die Anfrage bedingt ist (If-Match usw.), um verlorene Aktualisierungen zu verhindern. 429 Too Many Requests Zu viele Anfragen Der Client hat in einem Zeitraum zu viele Anfragen gesendet (Rate Limiting). Retry-After kann angeben, wie lange zu warten ist. 431 Request Header Fields Too Large Header-Felder zu groß Die Request-Header sind zu groß, entweder ein einzelner Header oder alle zusammen. 451 Unavailable For Legal Reasons Aus rechtlichen Gründen nicht verfügbar Der Server kann die Ressource aus rechtlichen Gründen nicht bereitstellen, etwa wegen eines Gerichtsbeschlusses oder staatlicher Zensur. Die Zahl spielt auf Fahrenheit 451 an. 499 Client Closed Request (Nicht standardisiert) Client hat Anfrage geschlossen nginx protokolliert 499, wenn der Client die Verbindung geschlossen hat, bevor der Server antworten konnte. Der Client sieht diesen Code nie.
5xx Server-Fehler
Der Server konnte eine gültige Anfrage nicht erfüllen.
500 Internal Server Error Interner Serverfehler Der Server ist auf einen unerwarteten Zustand gestoßen und konnte die Anfrage nicht abschließen. Es ist der allgemeine Sammelcode für serverseitige Fehler. 501 Not Implemented Nicht implementiert Der Server unterstützt die benötigte Funktion nicht, typischerweise die Request-Methode selbst. 502 Bad Gateway Fehlerhaftes Gateway Ein Gateway oder Proxy hat vom Upstream-Server, an den er die Anfrage weitergeleitet hat, eine ungültige Antwort erhalten. 503 Service Unavailable Dienst nicht verfügbar Der Server kann die Anfrage vorübergehend nicht bearbeiten, wegen Überlastung oder Wartung. Retry-After kann angeben, wann es erneut versucht werden soll. 504 Gateway Timeout Gateway-Zeitüberschreitung Ein Gateway oder Proxy hat vom Upstream-Server nicht rechtzeitig eine Antwort erhalten. 505 HTTP Version Not Supported HTTP-Version nicht unterstützt Der Server unterstützt die in der Anfrage verwendete HTTP-Version nicht. 506 Variant Also Negotiates Variante verhandelt ebenfalls Die transparente Content Negotiation ist fehlkonfiguriert: Die gewählte Variante ist selbst wieder zur Aushandlung eingerichtet, was eine Schleife erzeugt. 507 Insufficient Storage Nicht genügend Speicher Der Server kann die zur Ausführung nötige Repräsentation nicht speichern (kein Speicherplatz oder Kontingent erschöpft). Stammt aus WebDAV. 508 Loop Detected Schleife erkannt Der Server hat beim Verarbeiten einer Anfrage mit Depth: infinity (WebDAV) eine Endlosschleife erkannt. Manche Hoster nutzen den Code auch für Ressourcenlimits. 510 Not Extended Nicht erweitert Für die Ausführung der Anfrage sind weitere Erweiterungen nötig (HTTP Extension Framework). Das Framework ist heute historisch. 511 Network Authentication Required Netzwerk-Authentifizierung erforderlich Der Client muss sich authentifizieren, um Netzzugang zu erhalten, typischerweise in einem Captive Portal (Hotel- oder Flughafen-WLAN). 520 Web Server Returned an Unknown Error (Nicht standardisiert) Unbekannter Fehler Cloudflare-spezifisch: Der Ursprungsserver hat eine leere, unbekannte oder unerwartete Antwort zurückgegeben. 521 Web Server Is Down (Nicht standardisiert) Webserver ist nicht erreichbar Cloudflare-spezifisch: Der Ursprungsserver hat die Verbindung abgelehnt. 522 Connection Timed Out (Nicht standardisiert) Verbindungszeitüberschreitung Cloudflare-spezifisch: Die TCP-Verbindung zum Ursprung hat das Zeitlimit überschritten. 523 Origin Is Unreachable (Nicht standardisiert) Ursprung nicht erreichbar Cloudflare-spezifisch: Cloudflare kann den Ursprung nicht erreichen, meist wegen DNS- oder Routingproblemen. 524 A Timeout Occurred (Nicht standardisiert) Zeitüberschreitung aufgetreten Cloudflare-spezifisch: Die Verbindung zum Ursprung kam zustande, aber der Ursprung hat nicht rechtzeitig eine HTTP-Antwort gesendet (standardmäßig 100 Sekunden). 525 SSL Handshake Failed (Nicht standardisiert) SSL-Handshake fehlgeschlagen Cloudflare-spezifisch: Der TLS-Handshake zwischen Cloudflare und dem Ursprung ist fehlgeschlagen. 526 Invalid SSL Certificate (Nicht standardisiert) Ungültiges SSL-Zertifikat Cloudflare-spezifisch: Im SSL-Modus Full (strict) ist das Zertifikat des Ursprungs ungültig, abgelaufen, selbstsigniert oder passt nicht zum Hostnamen.