HTTP-Statuscodes: Liste mit Bedeutung
HTTP-Statuscodes von 100 bis 511 mit Bedeutung und typischer Ursache: Code eingeben oder nach Stichwort suchen, etwa 404 Fehler, 301 Redirect oder 500 Internal Server Error.
| Code | Name | Bedeutung | Typische Ursache |
|---|---|---|---|
| 100 | ContinueRFC 9110 | Der Server hat die Header erhalten, der Client darf den Body senden. | Client hat „Expect: 100-continue“ gesendet, etwa vor einem großen Upload. |
| 101 | Switching ProtocolsRFC 9110 | Der Server wechselt das Protokoll, wie im Upgrade-Header verlangt. | Aufbau einer WebSocket-Verbindung. |
| 102 | ProcessingRFC 2518, veraltet | Zwischenmeldung: Die Anfrage wird noch bearbeitet. | Lange WebDAV-Operationen; heute kaum genutzt. |
| 103 | Early HintsRFC 8297 | Vorab gesendete Link-Header, damit der Browser Ressourcen früh lädt. | Server oder CDN schickt preload-Hinweise vor der eigentlichen Antwort. |
| 200 | OKRFC 9110 | Die Anfrage war erfolgreich, die Antwort enthält das Ergebnis. | Normale, erfolgreiche Anfrage. |
| 201 | CreatedRFC 9110 | Eine neue Ressource wurde angelegt; der Location-Header nennt ihre Adresse. | Erfolgreiches POST oder PUT in einer REST-API. |
| 202 | AcceptedRFC 9110 | Angenommen, aber noch nicht fertig verarbeitet. | Asynchrone Verarbeitung, etwa ein Export in einer Warteschlange. |
| 203 | Non-Authoritative InformationRFC 9110 | Erfolgreich, aber die Antwort wurde von einem Proxy verändert. | Transformierender Proxy zwischen Client und Server. |
| 204 | No ContentRFC 9110 | Erfolgreich, die Antwort hat absichtlich keinen Inhalt. | DELETE oder Speichern ohne Rückgabe; CORS-Preflight. |
| 205 | Reset ContentRFC 9110 | Erfolgreich; der Client soll das Formular oder die Ansicht zurücksetzen. | Selten genutzt. |
| 206 | Partial ContentRFC 9110 | Es wird nur der angeforderte Teil geliefert. | Range-Anfrage: Video-Streaming, fortgesetzter Download. |
| 207 | Multi-StatusRFC 4918 | Mehrere Statusangaben für mehrere Ressourcen im XML-Body. | WebDAV-Anfragen wie PROPFIND. |
| 208 | Already ReportedRFC 5842 | Die Mitglieder wurden in dieser Antwort schon aufgezählt. | WebDAV-Bindungen, vermeidet doppelte Einträge. |
| 226 | IM UsedRFC 3229 | Die Antwort ist das Ergebnis einer Instanz-Manipulation (Delta-Kodierung). | Sehr selten genutzt. |
| 300 | Multiple ChoicesRFC 9110 | Es gibt mehrere Varianten der Ressource zur Auswahl. | Selten; Inhaltsaushandlung ohne eindeutige Wahl. |
| 301 | Moved PermanentlyRFC 9110 | Dauerhaft verschoben; die neue Adresse steht im Location-Header. Browser dürfen POST dabei in GET ändern. | Umzug auf eine neue URL oder Domain, Umstellung von http auf https. Typischer 301 Redirect. |
| 302 | FoundRFC 9110 | Vorübergehend unter einer anderen Adresse. Browser ändern POST meist in GET. | Weiterleitung nach Login, temporäre Umleitung. |
| 303 | See OtherRFC 9110 | Das Ergebnis liegt unter einer anderen Adresse und soll per GET geholt werden. | Muster Post/Redirect/Get nach einem Formular. |
| 304 | Not ModifiedRFC 9110 | Die zwischengespeicherte Version ist noch aktuell, es wird kein Body gesendet. | Bedingte Anfrage mit If-None-Match oder If-Modified-Since. |
| 305 | Use ProxyRFC 9110, veraltet | Veraltet, aus Sicherheitsgründen nicht mehr verwenden. | Kommt praktisch nicht mehr vor. |
| 307 | Temporary RedirectRFC 9110 | Vorübergehend verschoben; Methode und Body bleiben unverändert. | HSTS-interne Umleitung im Browser, temporäre API-Umleitung. |
| 308 | Permanent RedirectRFC 9110 | Dauerhaft verschoben; Methode und Body bleiben unverändert. | Dauerhafte Umleitung von API-Endpunkten, bei denen POST erhalten bleiben muss. |
| 400 | Bad RequestRFC 9110 | Die Anfrage ist fehlerhaft und wird nicht bearbeitet. | Ungültiges JSON, fehlende Parameter, kaputte Cookies. |
| 401 | UnauthorizedRFC 9110 | Authentifizierung fehlt oder ist ungültig; der WWW-Authenticate-Header nennt das Verfahren. | Fehlendes, falsches oder abgelaufenes Token, falscher API-Schlüssel. |
| 402 | Payment RequiredRFC 9110 | Für spätere Verwendung reserviert. | Manche APIs melden damit fehlendes Guthaben. |
| 403 | ForbiddenRFC 9110 | Der Server verweigert den Zugriff, auch mit Anmeldung ändert sich nichts. | Fehlende Rechte, Dateirechte auf dem Server, Firewall oder IP-Sperre. |
| 404 | Not FoundRFC 9110 | Unter dieser Adresse gibt es nichts (oder der Server will es nicht verraten). | 404 Fehler durch Tippfehler, gelöschte Seite, falsche Route, fehlende Weiterleitung. |
| 405 | Method Not AllowedRFC 9110 | Die Methode ist für diese Ressource nicht erlaubt; der Allow-Header nennt die erlaubten. | POST auf eine Adresse, die nur GET kennt. |
| 406 | Not AcceptableRFC 9110 | Keine Variante passt zu den Accept-Headern des Clients. | Client verlangt ein Format, das der Server nicht liefert. |
| 407 | Proxy Authentication RequiredRFC 9110 | Der Proxy verlangt eine Anmeldung. | Firmen-Proxy ohne hinterlegte Zugangsdaten. |
| 408 | Request TimeoutRFC 9110 | Der Client hat die Anfrage nicht rechtzeitig vollständig gesendet. | Langsame oder abgebrochene Verbindung. |
| 409 | ConflictRFC 9110 | Die Anfrage steht im Konflikt mit dem aktuellen Zustand der Ressource. | Versionskonflikt beim Speichern, doppelter Eintrag. |
| 410 | GoneRFC 9110 | Die Ressource ist dauerhaft entfernt und kommt nicht wieder. | Bewusst gelöschte Inhalte. |
| 411 | Length RequiredRFC 9110 | Der Server verlangt einen Content-Length-Header. | Upload ohne Längenangabe. |
| 412 | Precondition FailedRFC 9110 | Eine Bedingung wie If-Match ist nicht erfüllt. | Optimistische Sperre: Datensatz wurde inzwischen geändert. |
| 413 | Content Too LargeRFC 9110 | Der Body ist größer als erlaubt (früher Payload Too Large). | Upload über dem Limit, etwa client_max_body_size in nginx. |
| 414 | URI Too LongRFC 9110 | Die URL ist länger, als der Server verarbeitet. | Sehr viele Query-Parameter, Daten in der URL statt im Body. |
| 415 | Unsupported Media TypeRFC 9110 | Das Format des Bodys wird nicht unterstützt. | Falscher oder fehlender Content-Type, etwa JSON ohne application/json. |
| 416 | Range Not SatisfiableRFC 9110 | Der angeforderte Bereich liegt außerhalb der Datei. | Range-Anfrage hinter dem Dateiende. |
| 417 | Expectation FailedRFC 9110 | Die Erwartung im Expect-Header kann nicht erfüllt werden. | Server unterstützt „100-continue“ nicht. |
| 418 | (Unused)RFC 9110, RFC 2324 | In RFC 9110 reserviert. Bekannt als Scherz „I'm a teapot“ aus RFC 2324. | Wird manchmal als Spaß- oder Abwehr-Antwort eingesetzt. |
| 421 | Misdirected RequestRFC 9110 | Die Anfrage ging an einen Server, der dafür nicht zuständig ist. | Wiederverwendete HTTP/2-Verbindung mit unpassendem Zertifikat. |
| 422 | Unprocessable ContentRFC 9110 | Syntax korrekt, aber der Inhalt ist fachlich ungültig. | Validierungsfehler in einer API, etwa ungültige E-Mail-Adresse. |
| 423 | LockedRFC 4918 | Die Ressource ist gesperrt. | WebDAV-Sperre durch einen anderen Benutzer. |
| 424 | Failed DependencyRFC 4918 | Die Aktion scheiterte, weil eine abhängige Aktion scheiterte. | WebDAV-Mehrfachoperationen. |
| 425 | Too EarlyRFC 8470 | Der Server will eine möglicherweise wiederholte Anfrage nicht verarbeiten. | TLS-1.3-Early-Data (0-RTT). |
| 426 | Upgrade RequiredRFC 9110 | Der Client muss auf ein anderes Protokoll wechseln. | Server verlangt etwa eine neuere TLS- oder HTTP-Version. |
| 428 | Precondition RequiredRFC 6585 | Der Server verlangt bedingte Anfragen (If-Match). | Schutz vor verlorenen Änderungen. |
| 429 | Too Many RequestsRFC 6585 | Zu viele Anfragen in kurzer Zeit; Retry-After nennt die Wartezeit. | Ratenlimit einer API überschritten. |
| 431 | Request Header Fields Too LargeRFC 6585 | Die Header sind zu groß. | Zu viele oder zu große Cookies. |
| 451 | Unavailable For Legal ReasonsRFC 7725 | Aus rechtlichen Gründen nicht verfügbar. | Behördliche Sperre, Urheberrechtsbeschwerde. |
| 500 | Internal Server ErrorRFC 9110 | Allgemeiner Fehler auf dem Server. | 500 Internal Server Error durch unbehandelte Ausnahme, Fehler im Code, kaputte .htaccess. |
| 501 | Not ImplementedRFC 9110 | Der Server kennt die Methode nicht. | Exotische HTTP-Methode. |
| 502 | Bad GatewayRFC 9110 | Ein Proxy oder Gateway bekam eine ungültige Antwort vom nächsten Server. | Backend abgestürzt oder nicht gestartet (PHP-FPM, Node, Container). |
| 503 | Service UnavailableRFC 9110 | Der Dienst ist vorübergehend nicht verfügbar. | Überlastung oder Wartung; Retry-After kann die Dauer nennen. |
| 504 | Gateway TimeoutRFC 9110 | Der nächste Server hat nicht rechtzeitig geantwortet. | Langsame Datenbankabfrage, zu kurzes Proxy-Timeout. |
| 505 | HTTP Version Not SupportedRFC 9110 | Die HTTP-Version wird nicht unterstützt. | Sehr alter oder fehlerhafter Client. |
| 506 | Variant Also NegotiatesRFC 2295 | Fehlkonfiguration bei der Inhaltsaushandlung. | Sehr selten. |
| 507 | Insufficient StorageRFC 4918 | Der Server hat nicht genug Speicherplatz. | Volle WebDAV-Freigabe. |
| 508 | Loop DetectedRFC 5842 | Endlosschleife bei der Verarbeitung erkannt. | WebDAV-Bindungen. |
| 510 | Not ExtendedRFC 2774, historisch | Weitere Erweiterungen erforderlich. | Historisch, praktisch ungenutzt. |
| 511 | Network Authentication RequiredRFC 6585 | Der Client muss sich im Netz anmelden. | Captive Portal im Hotel- oder Zug-WLAN. |
| 444 | No Responseinoffiziell, nginx | nginx schließt die Verbindung ohne Antwort. | Abwehr unerwünschter Anfragen in der nginx-Konfiguration. |
| 499 | Client Closed Requestinoffiziell, nginx | Der Client hat die Verbindung geschlossen, bevor der Server antwortete. | Nutzer bricht ab, Client-Timeout kürzer als die Serverzeit. |
| 520 | Web Server Returned an Unknown Errorinoffiziell, Cloudflare | Der Ursprungsserver lieferte eine leere oder unerwartete Antwort. | Absturz oder ungültige Antwort hinter Cloudflare. |
| 521 | Web Server Is Downinoffiziell, Cloudflare | Der Ursprungsserver hat die Verbindung abgelehnt. | Webserver gestoppt oder Firewall blockiert Cloudflare. |
| 522 | Connection Timed Outinoffiziell, Cloudflare | Keine TCP-Verbindung zum Ursprungsserver. | Server überlastet, offline oder blockiert. |
| 523 | Origin Is Unreachableinoffiziell, Cloudflare | Der Ursprungsserver ist nicht erreichbar. | Falscher DNS-Eintrag, Routing-Problem. |
| 524 | A Timeout Occurredinoffiziell, Cloudflare | Verbindung steht, aber die Antwort kam nicht innerhalb von 100 Sekunden. | Lang laufendes Skript hinter Cloudflare. |
| 525 | SSL Handshake Failedinoffiziell, Cloudflare | Der TLS-Handshake mit dem Ursprungsserver schlug fehl. | Fehlendes oder unpassendes Zertifikat am Ursprung. |
| 526 | Invalid SSL Certificateinoffiziell, Cloudflare | Das Zertifikat des Ursprungsservers ist ungültig. | Abgelaufenes oder selbst signiertes Zertifikat im Modus „Full (strict)“. |
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
HTTP-Statuscodes verstehen
HTTP-Statuscodes sind dreistellige Zahlen, mit denen ein Server auf jede Anfrage antwortet. Die erste Ziffer nennt die Klasse: 1xx Information, 2xx Erfolg, 3xx Umleitung, 4xx Fehler auf Seiten des Clients, 5xx Fehler auf dem Server. Maßgeblich ist heute RFC 9110 (HTTP Semantics); einige Codes stammen aus Ergänzungen wie RFC 6585 (429, 431, 511) oder WebDAV (207, 423).
Für die Fehlersuche ist die Klasse oft wichtiger als der genaue HTTP Status Code. Ein 404 Fehler bedeutet, dass die Adresse nicht existiert, und liegt meist an einem Link oder einer Route. Ein 500 Internal Server Error heißt dagegen, dass der Code auf dem Server abgestürzt ist; die Ursache steht im Fehlerprotokoll des Servers, nicht im Browser. 502 und 504 kommen von einem vorgeschalteten Proxy, wenn das Backend nicht oder zu langsam antwortet.
Bei Weiterleitungen zählt der Unterschied zwischen dauerhaft und vorübergehend: Ein 301 Redirect oder 308 sagt Suchmaschinen, dass die neue Adresse die alte ersetzt. 302 und 307 sind vorübergehend. Die Tabelle enthält auch inoffizielle Fehlercodes von nginx (444, 499) und Cloudflare (520 bis 526), weil sie in Logs häufig auftauchen, aber in keinem Standard stehen.
Anleitung: HTTP-Statuscodes in 3 Schritten
- Im Feld „Code oder Stichwort“ einen Statuscode wie 404 oder ein Stichwort wie Redirect eingeben.
- Unter „Klasse“ bei Bedarf auf 1xx bis 5xx oder die inoffiziellen Codes von nginx und Cloudflare einschränken.
- In der Tabelle Name, Bedeutung, zugehöriges RFC und typische Ursache ablesen.
Typische Anwendungsfälle
- Fehlersuche im Browser: Einen Code aus dem Netzwerk-Reiter der Entwicklerwerkzeuge nachschlagen und die typische Ursache prüfen.
- API-Entwicklung: Den passenden Statuscode für eine Antwort wählen, etwa 201 nach dem Anlegen oder 409 bei einem Konflikt.
- SEO und Website-Umzug: Klären, ob für Weiterleitungen 301 oder 308 und für gelöschte Seiten 404 oder 410 passt.
- Monitoring-Meldungen: Codes wie 502, 503 oder 504 aus Alarmen schnell einordnen.
Häufige Fragen
Was ist der Unterschied zwischen 401 und 403?
401 Unauthorized heißt: Die Anmeldung fehlt oder ist ungültig, mit gültigen Zugangsdaten klappt es. 403 Forbidden heißt: Der Server kennt Sie oder braucht keine Anmeldung, verweigert den Zugriff aber trotzdem.
Welcher Code ist für Weiterleitungen richtig?
Für dauerhafte Umzüge 301 oder 308, für vorübergehende 302 oder 307. 307 und 308 garantieren, dass Methode und Body erhalten bleiben, wichtig etwa für POST-Anfragen an APIs.
Was bedeutet ein 500 Internal Server Error?
Auf dem Server ist ein Fehler aufgetreten, den er nicht genauer beschreibt. Häufig sind es Programmfehler, fehlerhafte Konfiguration oder fehlende Rechte. Die genaue Ursache steht im Fehlerprotokoll des Servers.
Warum bekomme ich 429 Too Many Requests?
Sie haben das Ratenlimit des Dienstes überschritten. Warten Sie die im Retry-After-Header genannte Zeit und senden Sie Anfragen langsamer, etwa mit exponentiellem Backoff.
Sind 520 bis 526 offizielle Fehlercodes?
Nein. Das sind Fehlercodes von Cloudflare, die Probleme zwischen Cloudflare und Ihrem Ursprungsserver anzeigen. Sie stehen in keinem RFC.
Was bedeutet 502 Bad Gateway?
Ein Proxy, Load Balancer oder CDN hat vom dahinterliegenden Server keine gültige Antwort bekommen. Häufig ist die Anwendung abgestürzt, überlastet oder falsch angebunden. Kommt die Antwort nur zu spät, meldet der Proxy stattdessen 504 Gateway Timeout.
Was ist der Unterschied zwischen 404 und 410?
404 Not Found sagt nur, dass unter der Adresse nichts gefunden wurde, möglicherweise vorübergehend. 410 Gone erklärt, dass die Ressource dauerhaft entfernt wurde. Für bewusst gelöschte Seiten ist 410 die eindeutigere Antwort.
Das könnte auch helfen
HTTP-Header-Referenz
Wichtige Anfrage- und Antwort-Header mit Bedeutung und Beispiel, durchsuchbar.
ÖffnenMIME-Typen
Über 150 MIME-Typen nachschlagen: Dateiendung zu Content-Type und umgekehrt.
ÖffnenGit-Befehle
Git-Spickzettel: die wichtigsten Befehle nach Aufgaben gruppiert, durchsuchbar und kopierbar.
ÖffnenBash-Befehle
Bash- und Linux-Befehle für Dateien, Text, Prozesse und Netzwerk, mit Suche und Kopieren.
ÖffnenPort-Liste
Bekannte TCP- und UDP-Ports von 20 bis 51820 mit Dienst und Hinweis, durchsuchbar.
ÖffnenDNS-Records erklärt
DNS-Record einfügen und zerlegen lassen: A, MX, TXT, SPF, SOA, SRV, CAA, HTTPS und mehr.
Öffnen