HTTP-Statuscodes Referenz & Ratgeber
Die standardisierten Server-Antwortcodes verständlich erklärt – inklusive SEO-Auswirkungen und Fehlerbehebung.
| Code | Bezeichnung | Bedeutung & Praxiseinsatz | SEO / Entwickler-Hinweis |
|---|---|---|---|
| 100 | Continue | Der Server hat die Anfrage-Header empfangen; der Client kann mit dem Senden des Request-Bodys fortfahren (z. B. bei großen Uploads). | Upload-Steuerung |
| 101 | Switching Protocols | Der Client hat einen Protokollwechsel angefordert (z. B. Upgrade von HTTP/1.1 auf WebSockets). | Echtzeit / Chat |
| 102 | Processing | Der Server hat die Anfrage empfangen und verarbeitet sie noch, benötigt aber mehr Zeit. Verhindert Client- und Proxy-Timeouts (RFC 2518 / WebDAV). | WebDAV / Timeout-Schutz |
| 103 | Early Hints | Vorab-Header (RFC 8297): Erlaubt dem Browser das Vorabladen (preload / preconnect) von CSS, Schriften oder Skripten, noch während der Server den HTML-Body generiert. |
Performance / Preload |
| 200 | OK | Standardantwort für erfolgreiche Anfragen. Webseite oder API-Ressource wurde fehlerfrei übertragen. | SEO Idealzustand |
| 201 | Created | Die Anfrage war erfolgreich und hat zur Erstellung einer neuen Ressource geführt (typisch nach HTTP POST oder PUT in REST-APIs). |
API Ressourcenerstellung |
| 202 | Accepted | Die Anfrage wurde zur Bearbeitung angenommen, der Prozess ist aber noch nicht abgeschlossen (typisch für asynchrone Hintergrundjobs, Warteschlangen oder Batch-Verarbeitung). | Asynchrone Jobs |
| 203 | Non-Authoritative Information | Die Anfrage war erfolgreich, die zurückgegebenen Header stammen jedoch nicht direkt vom Ursprungsserver, sondern wurden von einem transformierenden Proxy oder Cache angepasst. | Proxy-Modifikation |
| 204 | No Content | Anfrage erfolgreich ausgeführt, aber die Antwort enthält bewusst keinen Dateninhalt (z. B. nach einem DELETE-Aufruf oder beim Speichern ohne Seiten-Reload). |
Kein Body / API |
| 205 | Reset Content | Teilt dem Client mit, die aktuelle Dokumentansicht zurückzusetzen (wird genutzt, um Webformulare nach erfolgreichem Absenden für neue Eingaben zu leeren). | Formular-Reset |
| 206 | Partial Content | Der Server liefert nur einen Teilbereich der Ressource aus (wird bei Video- und Audio-Streaming sowie Download-Managern mit Range-Headern genutzt). |
Range / Streaming |
| 207 | Multi-Status | WebDAV (RFC 4918): Die Antwort enthält einen XML-Body mit mehreren separaten Statuscodes für verschiedene Verzeichnis- oder Dateioperationen. | WebDAV Multi-Response |
| 208 | Already Reported | WebDAV (RFC 5842): Verhindert redundante Einträge in Multistatus-Antworten, wenn Elemente einer Verzeichnis-Sammlung bereits weiter oben gemeldet wurden. | WebDAV Schleifenschutz |
| 226 | IM Used | Delta-Encoding (RFC 3229): Der Server liefert nur die differenzielle Änderung (Delta) einer Ressource im Vergleich zur Version im Client-Cache aus (Instance Manipulation). | Delta-Encoding |
| 300 | Multiple Choices | Der Server bietet mehrere Ressourcen-Optionen an, aus denen der Client wählen kann (z. B. verschiedene Video-Auflösungen, Dateiformate oder Sprachversionen). In der Praxis selten implementiert. | Mehrfachauswahl |
| 301 | Moved Permanently | Dauerhafte Weiterleitung. Suchmaschinen übertragen die Linkkraft (Linkjuice) nahezu vollständig auf die neue Ziel-URL. Die Standardwahl für Domain- und URL-Strukturwechsel. | SEO Best-Practice |
| 302 | Found (Temp. Redirect) | Vorübergehende Weiterleitung. Google behält die ursprüngliche URL im Index. Historisch wandelten viele Browser dabei fälschlicherweise einen POST- in einen GET-Request um. |
Temporär / Kein Linkjuice |
| 303 | See Other | Verweist auf eine andere URL, die zwingend mit der Methode GET abgerufen werden muss. Der Standard für das Post/Redirect/Get-Pattern (PRG), um doppelten Formularversand (z. B. bei Warenkörben/Zahlungen) zu verhindern. |
Post/Redirect/Get |
| 304 | Not Modified | Caching-Code: Teilt dem Browser über Validierungs-Header (If-None-Match / ETag oder If-Modified-Since) mit, dass die lokale Cache-Kopie aktuell ist. Es wird kein Body übertragen. |
Ladezeit-Optimierung |
| 305 | Use Proxy | Veralteter Standard: Signalisiert, dass der Zugriff ausschließlich über den im Location-Header genannten Proxy erfolgen muss. Aus Sicherheitsgründen (MitM-Angriffe) von modernen Browsern nicht mehr unterstützt. |
Veraltet / Deprecated |
| 306 | (Unused) | War in frühen Entwürfen als „Switch Proxy“ vorgesehen. Gilt nach RFC 9110 offiziell als reserviert, wird nicht mehr verwendet und darf von Servern nicht implementiert werden. | Reserviert |
| 307 | Temporary Redirect | Moderne temporäre Weiterleitung nach HTTP/1.1. Garantiert im Gegensatz zu 302 zwingend, dass die verwendete HTTP-Methode (z. B. POST) und der Body beim Aufruf der Ziel-URL unverändert bleiben. |
Temporär + Methode fest |
| 308 | Permanent Redirect | Modernes Gegenstück zu 301 nach RFC 7538. Vererbt Linkkraft wie 301, stellt jedoch technisch sicher, dass die HTTP-Methode (POST bleibt POST) nicht verändert werden darf. |
Dauerhaft + Methode fest |
| 400 | Bad Request | Die Anfrage konnte vom Server nicht verarbeitet werden (z. B. fehlerhafte Syntax, ungültiges JSON, beschädigte Cookies oder Request-Smuggling). | Client-Syntax prüfen |
| 401 | Unauthorized | Zugriff erfordert eine gültige Authentifizierung. Der Client muss sich zuerst mit Anmeldedaten (z. B. Authorization: Bearer oder Basic-Auth) identifizieren. |
Login erforderlich |
| 402 | Payment Required | Ursprünglich für digitale Bezahlsysteme reserviert. Wird heute von manchen APIs genutzt, wenn das Guthaben / Abonnement aufgebraucht ist. | Paywall / Abrechnung |
| 403 | Forbidden | Der Client ist zwar authentifiziert, besitzt aber nicht die erforderlichen Rechte (z. B. fehlende Linux-Dateirechte, IP-Sperre in Firewall oder Admin-Bereich). | Rechte / Firewall |
| 404 | Not Found | Die angeforderte URL existiert nicht auf dem Server. Häufig durch Tippfehler, geänderte Seitenstrukturen oder veraltete Links. | Toter Link (Crawl-Fehler) |
| 405 | Method Not Allowed | Die HTTP-Methode ist für diese Ressource verboten (z. B. POST auf eine statische HTML-Datei oder DELETE auf einen reinen Lese-Endpunkt). |
Allow-Header prüfen |
| 406 | Not Acceptable | Der Server kann die Ressource nicht in dem Format liefern, das der Client im Accept-Header angefordert hat (z. B. gefordert ist application/json, Server liefert nur XML). |
Content-Negotiation |
| 407 | Proxy Authentication Required | Ähnlich wie 401, jedoch muss sich der Client zuerst an einem vorgeschalteten HTTP-Proxy authentifizieren (Header Proxy-Authenticate). |
Proxy-Anmeldung |
| 408 | Request Timeout | Der Server hat die Verbindung getrennt, weil der Client seine Anfrage nicht innerhalb des vorgegebenen Zeitfensters vollständig übertragen hat. | Langsamer Upload |
| 409 | Conflict | Die Anfrage steht im Konflikt mit dem aktuellen Zustand der Ressource (z. B. Versionskonflikte bei gleichzeitiger Bearbeitung oder Anlage eines bereits vergebenen Nutzernamens). | Versionskonflikt |
| 410 | Gone | Die Ressource wurde dauerhaft und absichtlich gelöscht. Suchmaschinen entfernen 410-URLs deutlich schneller aus dem Index als 404-Seiten. | Schneller Google-Drop |
| 411 | Length Required | Der Server verlangt zwingend die Angabe des Content-Length-Headers für den Body der Anfrage, bevor er diese verarbeitet. |
Header fehlt |
| 412 | Precondition Failed | Eine im Header übermittelte Bedingung (z. B. If-Match oder If-Unmodified-Since) wurde vom Server nicht erfüllt. |
Bedingte Anfrage |
| 413 | Payload Too Large | Der Request-Body überschreitet das Limit des Webservers (z. B. upload_max_filesize in PHP oder client_max_body_size in Nginx). |
Upload-Limit |
| 414 | URI Too Long | Die angeforderte URL ist länger, als der Server verarbeiten kann (häufig bei zu langen GET-Query-Strings; Lösung: Wechsel auf POST). |
Query-String zu lang |
| 415 | Unsupported Media Type | Das Datenformat des Payloads wird nicht unterstützt (z. B. Server akzeptiert nur JSON, Client sendet Content-Type: application/xml). |
MIME-Type falsch |
| 416 | Range Not Satisfiable | Der im Range-Header angeforderte Byte-Bereich liegt außerhalb der Datei (z. B. Byte 5000–6000 einer 4000 Byte großen Datei). |
Ungültiger Offset |
| 417 | Expectation Failed | Der Server kann die im Expect-Header (z. B. Expect: 100-continue) geforderte Erwartung nicht erfüllen. |
Expect-Header |
| 418 | I'm a teapot | Kult-Statuscode aus dem Aprilscherz RFC 2324 (HTCPCP). In RFC 9110 offiziell als reserviert bestätigt, um bestehende Implementationen nicht zu brechen. | RFC 2324 Easter Egg |
| 421 | Misdirected Request | Die Anfrage wurde an einen Server geleitet, der für diese Kombination aus Schema und Host keine Antwort generieren kann (häufig bei HTTP/2-Connection-Reuse). | Routing / TLS-SAN |
| 422 | Unprocessable Content | Die Syntax ist korrekt (z. B. valides JSON), der Inhalt ist jedoch semantisch fehlerhaft (z. B. Validierungsfehler bei Pflichtfeldern in Formularen/APIs). | Validierungsfehler |
| 423 | Locked | WebDAV (RFC 4918): Die angeforderte Ressource ist derzeit gesperrt und kann nicht modifiziert werden. | WebDAV Ressourcensperre |
| 424 | Failed Dependency | WebDAV (RFC 4918): Die Ausführung schlug fehl, weil sie von einer vorhergehenden Operation abhing, die ebenfalls fehlschlug. | Abhängigkeitsfehler |
| 425 | Too Early | RFC 8470: Der Server verweigert die Verarbeitung, da bei TLS 1.3 0-RTT (Early Data) das Risiko eines Replay-Angriffs besteht. | TLS 0-RTT Replay-Schutz |
| 426 | Upgrade Required | Der Server verlangt ein Protokoll-Upgrade auf einen moderneren Standard (z. B. Wechsel auf TLS 1.3 oder HTTP/2 via Upgrade-Header). |
Protokoll-Upgrade |
| 428 | Precondition Required | RFC 6585: Der Ursprungsserver verlangt zwingend eine bedingte Anfrage (z. B. mit If-Match), um das Problem verlorener Updates (Lost Updates) zu verhindern. |
Gleichzeitigkeitsschutz |
| 429 | Too Many Requests | RFC 6585: Der Client hat das Anfragelimit (Rate-Limit) überschritten. Wird häufig mit dem Header Retry-After zurückgegeben. |
Rate Limiting / DDoS-Schutz |
| 431 | Request Header Fields Too Large | RFC 6585: Einzelne oder die Gesamtheit der HTTP-Header (oft zu viele oder zu große Cookie-Daten) überschreiten das Pufferlimit des Webservers. | Cookies leeren |
| 451 | Unavailable For Legal Reasons | RFC 7725 (benannt nach Ray Bradburys Fahrenheit 451): Die Seite wird aufgrund behördlicher oder gerichtlicher Anordnungen (Netzsperren, Urheberrecht, Geoblocking) blockiert. | Behördliche Netzsperre |
| 500 | Internal Server Error | Sammelfehler für unerwartete Serverprobleme (häufig Syntaxfehler in PHP-Skripten, fehlerhafte Direktiven in der .htaccess, ungefangene Exceptions oder Datenbankabstürze). |
Server-Errorlog prüfen |
| 501 | Not Implemented | Der Server unterstützt die zur Bearbeitung notwendige Funktionalität nicht (z. B. wenn eine unbekannte oder nicht implementierte HTTP-Methode wie ein unzulässiges PATCH angefragt wird). |
Methode ununterstützt |
| 502 | Bad Gateway | Ein vorgeschalteter Proxy-Server (z. B. Nginx, Apache oder Cloudflare) hat eine ungültige Antwort vom eigentlichen Backend-Dienst (z. B. PHP-FPM, Node.js oder Gunicorn) erhalten oder dieser ist abgestürzt. | Backend / PHP-FPM prüfen |
| 503 | Service Unavailable | Der Server ist wegen temporärer Überlastung (CPU/RAM-Limit, Prozess-Pool erschöpft) oder laufenden Wartungsarbeiten nicht erreichbar. Ideal für geplante Wartungen mit dem Header Retry-After. |
Wartung / Retry-After |
| 504 | Gateway Timeout | Ein Proxy oder Reverse-Proxy hat die Verbindung zum Upstream-Server aufgebaut, jedoch nicht innerhalb des definierten Zeitlimits eine vollständige Antwort erhalten (z. B. durch lang laufende SQL-Abfragen). | FastCGI-Timeout erhöhen |
| 505 | HTTP Version Not Supported | Der Webserver verweigert die Verarbeitung der in der Anfrage verwendeten HTTP-Protokollversion (z. B. veraltetes HTTP/0.9 oder eine serverseitig nicht aktivierte HTTP/3-Anbindung). | Protokoll-Inkompatibilität |
| 506 | Variant Also Negotiates | RFC 2295 (Content Negotiation): Konfigurationsfehler des Webservers. Die ausgewählte Inhaltsvariante verweist rekursiv auf eine weitere Inhaltsaushandlung, was zu einer Endlosschleife führt. | Server-Konfigurationsfehler |
| 507 | Insufficient Storage | WebDAV (RFC 4918): Der Server-Speicherplatz bzw. das zugewiesene Festplatten-Quota ist voll. Die angeforderte Operation (z. B. Upload oder Verschieben von Dateien) konnte nicht abgeschlossen werden. | Speicherplatz / Quota voll |
| 508 | Loop Detected | WebDAV (RFC 5842): Der Server hat die Ausführung einer Operation abgebrochen, weil er beim Abarbeiten verknüpfter Ressourcen eine Endlosschleife (z. B. durch zirkuläre Bindings) festgestellt hat. | WebDAV Endlosschleife |
| 510 | Not Extended | RFC 2774 (HTTP Extension Framework): Die Richtlinie für den Zugriff wurde nicht erfüllt. Der Server verlangt, dass die Anfrage durch eine spezifische HTTP-Erweiterung ergänzt wird. | RFC 2774 Erweiterung |
| 511 | Network Authentication Required | RFC 6585: Der Client muss sich zuerst am zwischengeschalteten Netzwerk authentifizieren, bevor Zugriff auf das Internet gewährt wird. Der Standard-Code für Captive Portals in Hotel- und öffentlichen WLAN-Hotspots. | WLAN Captive Portal |
301 vs. 302 Weiterleitungen für SEO
Verwende bei dauerhaften URL-Änderungen oder Domainumzügen immer den Statuscode 301 Moved Permanently. Nur dieser Code stellt sicher, dass Google und Bing Backlinks und Rankings zuverlässig auf die neue Zieladresse übertragen.
Wartungsmodus richtig schalten
Bei Wartungsarbeiten sollte die Startseite nicht mit einem 200 OK oder 404 antworten, sondern mit 503 Service Unavailable und einem Retry-After: 3600 Header. Dadurch bleibt die Seite im Suchindex erhalten.
Made with ♥️ by Mailuft Digital GmbH.