Zum Inhalt springen

HTTP-Statuscodes

Die komplette Liste der HTTP-Statuscodes von 1xx bis 5xx – mit kurzer Erklärung zu jedem Code und Hinweisen, wie Google mit den SEO-relevanten Codes umgeht.

Jede HTTP-Antwort beginnt mit einem dreistelligen Statuscode. Die erste Ziffer verrät dir die Klasse: 1xx Information, 2xx Erfolg, 3xx Umleitung, 4xx Fehler auf Client-Seite und 5xx Fehler auf Server-Seite. Was die einzelnen Codes bedeuten, regelt RFC 9110 zusammen mit einigen weiteren RFCs. Hier findest du alle Codes aus RFC 9110 und dazu die Erweiterungen, die dir in der Praxis tatsächlich begegnen.

Kennt ein Client einen Code nicht, behandelt er ihn wie den x00-Code seiner Klasse – ein unbekannter 499 gilt also als 400. Der Beschreibungstext hinter dem Code (etwa "Not Found") ist rein informativ und wird bei HTTP/2 und HTTP/3 gar nicht mehr übertragen.

Du willst wissen, welchen Statuscode eine URL liefert? Gib sie in den Redirect Checker ein – du siehst den Code jedes einzelnen Schritts, inklusive Weiterleitungen, Header und finaler Antwort.

1xx Information

Zwischenantworten: Der Server hat die Anfrage erhalten und arbeitet weiter. Eine endgültige Antwort folgt immer noch.

100

100 Continue

Der Server hat die Header erhalten, der Client darf jetzt den Body schicken. Das ist die Antwort auf Expect: 100-continue – so kann ein Client vor einem großen Upload prüfen, ob der Server ihn überhaupt annimmt.

101

101 Switching Protocols

Der Server wechselt auf das Protokoll, das der Client im Upgrade-Header angefragt hat. Der häufigste Fall ist der Handshake beim Aufbau einer WebSocket-Verbindung.

102

102 Processing

Ein WebDAV-Code (RFC 2518): Der Server ist noch mit einer langen Anfrage beschäftigt, der Client soll nicht in einen Timeout laufen. In RFC 4918 wurde er wieder gestrichen und spielt heute kaum noch eine Rolle.

103

103 Early Hints

Kommt vor der eigentlichen Antwort und enthält Link-Header. Der Browser kann so schon Stylesheets vorladen oder Verbindungen zu anderen Hosts aufbauen, während der Server die Seite noch rendert (RFC 8297). Aktuelle Browser und CDNs wie Cloudflare unterstützen das.

2xx Erfolg

Die Anfrage wurde empfangen, verstanden und angenommen.

200

200 OK

Alles hat geklappt. Bei einem GET steckt die angefragte Ressource im Body – diesen Code sollte jede normale, indexierbare Seite liefern.

SEO: Google gibt den Inhalt einer 200-Seite an die Indexierung weiter. Eine Garantie ist das nicht: Wirkt die Seite leer oder wie eine Fehlerseite, stuft Google sie unter Umständen als Soft 404 ein.

201

201 Created

Die Anfrage hat eine neue Ressource angelegt, typischerweise nach einem POST oder PUT an eine API. Der Location-Header zeigt meist auf die neue Ressource.

202

202 Accepted

Die Anfrage wurde angenommen, ist aber noch nicht fertig verarbeitet – und kann auch noch scheitern. Üblich bei asynchronen Jobs wie einem Export, der in einer Warteschlange landet.

203

203 Non-Authoritative Information

Die Anfrage war erfolgreich, aber ein zwischengeschalteter Proxy hat den Inhalt der ursprünglichen 200-Antwort verändert.

204

204 No Content

Erfolgreich, aber bewusst ohne Body. Typisch für API-Aufrufe wie DELETE oder für Formulare, die speichern, ohne die Seite zu verlassen.

SEO: Bei einem 204 hat Google nichts zu indexieren. In der Search Console tauchen solche URLs unter Umständen als Soft 404 auf.

205

205 Reset Content

Erfolgreich, und der Client soll die Ansicht zurücksetzen, also etwa das gerade abgeschickte Formular leeren. Ein Body wird nicht mitgeschickt.

206

206 Partial Content

Der Server liefert nur einen Teil der Ressource, weil der Client einen Range-Header geschickt hat. Damit lassen sich Downloads fortsetzen und Videos oder Audiodateien an beliebiger Stelle abspielen.

207

207 Multi-Status

Ein WebDAV-Code (RFC 4918): Der Body ist ein XML-Dokument mit eigenen Statuscodes für mehrere Ressourcen oder Operationen.

208

208 Already Reported

Wird innerhalb einer WebDAV-207-Antwort genutzt (RFC 5842), damit dieselbe gebundene Ressource nicht mehrfach aufgelistet wird.

226

226 IM Used

Der Server liefert das Ergebnis einer Instanz-Manipulation, etwa nur die Änderungen statt des ganzen Dokuments (RFC 3229). In freier Wildbahn so gut wie nie zu sehen.

3xx Umleitung

Der Client muss noch etwas tun, um die Anfrage abzuschließen – meist der URL im Location-Header folgen.

300

300 Multiple Choices

Es gibt mehrere Varianten der Ressource (etwa verschiedene Sprachen oder Formate), und Client oder Nutzer sollen eine auswählen. Browser gehen damit uneinheitlich um, deshalb wird er kaum eingesetzt.

301

301 Moved Permanently

Die Ressource ist dauerhaft unter die URL im Location-Header umgezogen. Clients dürfen dabei aus einem POST ein GET machen. Der Klassiker für Domainumzüge, die Umstellung auf HTTPS und geänderte URLs – mehr dazu unter 301 vs. 302.

SEO: Vererbt PageRank und ist ein starkes Signal, dass die Ziel-URL kanonisch werden soll. Google ersetzt die alte URL im Index nach und nach durch die neue.

302

302 Found

Die Ressource liegt vorübergehend unter einer anderen URL, die ursprüngliche URL bleibt gültig. Wie bei 301 machen Browser aus einem POST in der Regel ein GET.

SEO: Vererbt ebenfalls PageRank, ist aber nur ein schwaches Kanonisierungssignal: Google behält meist die ursprüngliche URL im Index.

303

303 See Other

Der Client soll eine andere URL per GET abrufen. Klassisch nach einem Formular-POST, um auf eine Bestätigungsseite weiterzuleiten (Post/Redirect/Get). So wird das Formular beim Neuladen nicht doppelt abgeschickt.

SEO: Behandelt Google wie eine temporäre Weiterleitung: vererbt PageRank, schwaches Kanonisierungssignal.

304

304 Not Modified

Die Antwort auf eine bedingte Anfrage mit If-None-Match oder If-Modified-Since: Die Ressource hat sich nicht geändert, der Client kann seine Kopie aus dem Cache nehmen. Die Antwort hat keinen Body.

SEO: Signalisiert dem Googlebot, dass sich seit dem letzten Crawl nichts geändert hat. Google berechnet Signale für die URL eventuell neu, sonst hat der Code keinen Einfluss auf die Indexierung. Saubere ETag-/Last-Modified-Unterstützung spart bei großen Websites Crawl-Budget.

305

305 Use Proxy

Veraltet. Sollte den Client anweisen, über einen Proxy zuzugreifen. Weil das ein Sicherheitsrisiko war, ignorieren Browser den Code.

306

306 (Unused)

Hieß in einem frühen Entwurf "Switch Proxy". Der Code ist reserviert und wird nicht mehr verwendet.

307

307 Temporary Redirect

Eine temporäre Weiterleitung wie 302 – nur muss der Client die Anfrage mit derselben Methode und demselben Body wiederholen. Einen internen 307 zeigen Browser auch an, wenn HSTS den Wechsel von HTTP auf HTTPS erzwingt. Details in 307 vs. 308.

SEO: Behandelt Google wie einen 302: vererbt PageRank, schwaches Kanonisierungssignal.

308

308 Permanent Redirect

Eine dauerhafte Weiterleitung wie 301, aber Methode und Body dürfen sich nicht ändern – ein POST bleibt ein POST. Ideal für APIs und Formular-Endpunkte (ursprünglich in RFC 7538 definiert).

SEO: Behandelt Google wie einen 301: vererbt PageRank und ist ein starkes Kanonisierungssignal.

4xx Client-Fehler

Die Anfrage ist fehlerhaft oder lässt sich nicht erfüllen – etwa weil die Ressource nicht existiert oder der Zugriff verweigert wird.

400

400 Bad Request

Der Server kann die Anfrage wegen eines Fehlers auf Client-Seite nicht verarbeiten, zum Beispiel wegen fehlerhafter Syntax, eines ungültigen Headers oder eines zu großen Cookies.

401

401 Unauthorized

Für die Anfrage ist eine Anmeldung nötig, und es wurden keine oder falsche Zugangsdaten mitgeschickt. Der Server muss im WWW-Authenticate-Header angeben, wie die Anmeldung funktioniert.

SEO: Inhalte hinter einem 401 werden nicht indexiert. Nutze 401 oder 403 nicht, um den Googlebot auszubremsen – dafür sind 429 oder 503 da.

402

402 Payment Required

Für die Zukunft reserviert. Manche APIs und Dienste nutzen ihn bei aufgebrauchtem Kontingent oder unbezahltem Konto, eine einheitliche Bedeutung gibt es aber nicht.

403

403 Forbidden

Der Server hat die Anfrage verstanden, verweigert aber den Zugriff. Anders als bei 401 hilft eine Anmeldung meist nicht – Ursache sind fehlende Rechte, eine IP-Sperre oder eine Firewall-Regel.

SEO: Bekommt der Googlebot einen 403, wird die Seite nicht indexiert, und bereits indexierte URLs fliegen mit der Zeit raus. Prüf, ob deine Firewall oder dein Bot-Schutz den Googlebot versehentlich aussperrt.

404

404 Not Found

Unter dieser URL findet der Server nichts. Ob das nur vorübergehend oder für immer so ist, sagt der Code nicht. Der häufigste Fehler im Web, meist verursacht durch kaputte Links oder fehlende Weiterleitungen nach einem Relaunch.

SEO: Google indexiert 404-URLs nicht und entfernt bereits indexierte nach und nach; die Crawl-Frequenz sinkt allmählich. Dem Rest deiner Website schaden 404er nicht – URLs mit Backlinks oder Traffic solltest du aber auf eine passende neue Seite weiterleiten.

405

405 Method Not Allowed

Die Ressource gibt es, aber sie unterstützt die Methode nicht – etwa ein POST auf eine statische Seite. Die Antwort muss einen Allow-Header mit den erlaubten Methoden enthalten.

406

406 Not Acceptable

Der Server hat keine Variante, die zu den Accept-Headern des Clients passt (Inhaltstyp, Sprache, Kodierung). Manche Sicherheitsmodule missbrauchen ihn außerdem, um Anfragen zu blocken.

407

407 Proxy Authentication Required

Wie 401, nur muss sich der Client bei einem Proxy anmelden. Der Proxy schickt dazu einen Proxy-Authenticate-Header.

408

408 Request Timeout

Die vollständige Anfrage kam nicht rechtzeitig beim Server an, deshalb schließt er die Verbindung. Der Client darf es erneut versuchen.

409

409 Conflict

Die Anfrage passt nicht zum aktuellen Zustand der Ressource – zum Beispiel eine Änderung auf Basis einer veralteten Version oder der Versuch, etwas anzulegen, das schon existiert.

410

410 Gone

Die Ressource wurde absichtlich entfernt, kommt nicht wieder, und es gibt keine neue Adresse. Für bewusst gelöschte Inhalte eindeutiger als 404.

SEO: Google behandelt 410 wie 404 (alle 4xx-Codes außer 429 werden gleich bewertet): Die URL wird nicht indexiert und fällt mit der Zeit aus dem Index. Der Vorteil von 410 liegt vor allem darin, dass du deine Absicht klar signalisierst.

411

411 Length Required

Der Server lehnt die Anfrage ab, weil der Content-Length-Header fehlt.

412

412 Precondition Failed

Eine Bedingung aus den Request-Headern wie If-Match oder If-Unmodified-Since ist nicht erfüllt. So verhinderst du, dass Änderungen von jemand anderem überschrieben werden.

413

413 Content Too Large

Der Request-Body ist größer, als der Server verarbeiten will – typischerweise ein Upload über einem Limit wie client_max_body_size bei nginx. Hieß früher "Payload Too Large".

414

414 URI Too Long

Die URL ist länger, als der Server akzeptiert. Taucht gern bei fehlerhaften Redirect-Regeln auf, die bei jedem Schritt Parameter anhängen, bis die URL zu lang wird.

415

415 Unsupported Media Type

Der Server kann mit dem Format des Request-Bodys nichts anfangen, etwa XML an eine API, die nur JSON versteht. Prüf den Content-Type-Header.

416

416 Range Not Satisfiable

Der Byte-Bereich im Range-Header liegt außerhalb der Ressource, zum Beispiel hinter dem Dateiende.

417

417 Expectation Failed

Der Server kann die Anforderung im Expect-Header nicht erfüllen, meist Expect: 100-continue.

418

418 (Unused)

Bekannt als "I'm a teapot" aus dem Aprilscherz-RFC 2324 (Hyper Text Coffee Pot Control Protocol). RFC 9110 reserviert den Code, weil ihn so viele Server als Gag implementiert haben – anderweitig vergeben wird er deshalb nicht.

421

421 Misdirected Request

Die Anfrage ist bei einem Server gelandet, der für diesen Host keine Antwort liefern kann. Passiert bei HTTP/2, wenn eine Verbindung wiederverwendet wird und ein TLS-Zertifikat mehrere Domains abdeckt, die auf verschiedenen Servern laufen.

422

422 Unprocessable Content

Die Anfrage ist syntaktisch korrekt, inhaltlich aber ungültig – etwa ein JSON-Body, der die Validierung nicht besteht. In REST-APIs sehr verbreitet; hieß früher "Unprocessable Entity" und stammt aus WebDAV.

423

423 Locked

Ein WebDAV-Code (RFC 4918): Die Ressource ist gesperrt, zum Beispiel weil gerade jemand anderes sie bearbeitet.

424

424 Failed Dependency

Ein WebDAV-Code (RFC 4918): Die Anfrage ist gescheitert, weil eine vorherige Anfrage, von der sie abhängt, fehlgeschlagen ist.

425

425 Too Early

Der Server verarbeitet eine Anfrage nicht, die als TLS-1.3-Early-Data (0-RTT) kam, weil sie wiederholt eingespielt werden könnte (RFC 8470). Der Client soll es nach dem Handshake erneut versuchen.

426

426 Upgrade Required

Der Server lehnt die Anfrage mit dem aktuellen Protokoll ab und nennt im Upgrade-Header das nötige, etwa eine neuere TLS- oder HTTP-Version.

428

428 Precondition Required

Der Server verlangt eine bedingte Anfrage, zum Beispiel mit If-Match, damit keine Änderungen verloren gehen (RFC 6585).

429

429 Too Many Requests

Der Client hat in kurzer Zeit zu viele Anfragen geschickt (Rate Limiting, RFC 6585). Ein Retry-After-Header kann angeben, wie lange er warten soll.

SEO: Anders als die übrigen 4xx-Codes behandelt Google 429 wie einen Serverfehler: Der Googlebot crawlt langsamer. Indexierte URLs bleiben zunächst im Index, fliegen aber raus, wenn die Fehler anhalten.

431

431 Request Header Fields Too Large

Ein einzelner Header oder alle Header zusammen sind zu groß (RFC 6585). Häufige Ursache sind zu viele oder zu große Cookies – die Cookies der Domain zu löschen, hilft meistens.

451

451 Unavailable For Legal Reasons

Die Ressource darf aus rechtlichen Gründen nicht ausgeliefert werden, etwa wegen eines Gerichtsbeschlusses oder gesetzlich vorgeschriebenen Geoblockings (RFC 7725). Die Zahl ist eine Anspielung auf Ray Bradburys "Fahrenheit 451".

5xx Server-Fehler

Der Server konnte eine anscheinend gültige Anfrage nicht erfüllen.

500

500 Internal Server Error

Der Allzweck-Fehler: Auf dem Server ist etwas schiefgelaufen, und kein spezifischerer Code passt. Typische Ursachen sind PHP-Fatal-Errors, ungültige Direktiven in der .htaccess oder eine ausgefallene Datenbankverbindung. Mehr verrät dir das Error-Log des Servers.

SEO: Bei 5xx-Fehlern drosselt der Googlebot vorübergehend das Crawling. Indexierte URLs bleiben zunächst erhalten, verschwinden aber, wenn die Fehler anhalten – behebe Serverfehler also zügig.

501

501 Not Implemented

Der Server unterstützt die für die Anfrage nötige Funktion nicht, typischerweise eine unbekannte Request-Methode.

502

502 Bad Gateway

Ein Gateway oder Reverse Proxy (etwa nginx oder ein CDN) hat vom dahinterliegenden Server eine ungültige Antwort bekommen – zum Beispiel, weil ein PHP-FPM- oder Node.js-Prozess abgestürzt ist.

SEO: Wird wie andere 5xx-Fehler behandelt: Das Crawling wird gedrosselt, und hält das Problem an, fallen URLs aus dem Index.

503

503 Service Unavailable

Der Server kann die Anfrage gerade nicht bearbeiten, weil er überlastet ist oder gewartet wird. Ein Retry-After-Header kann angeben, wann es wieder klappt. Der richtige Code für geplante Wartungsfenster.

SEO: Der empfohlene Code für kurze Wartungsarbeiten: Google crawlt langsamer, behält indexierte Seiten aber vorerst. Liefert die Website über längere Zeit 503, fallen URLs nach und nach aus dem Index.

504

504 Gateway Timeout

Ein Gateway oder Proxy hat vom dahinterliegenden Server nicht rechtzeitig eine Antwort bekommen, etwa weil ein Skript länger läuft als der Proxy-Timeout.

505

505 HTTP Version Not Supported

Der Server unterstützt die HTTP-Hauptversion der Anfrage nicht.

506

506 Variant Also Negotiates

Ein Konfigurationsfehler bei der transparenten Content Negotiation (RFC 2295): Die gewählte Variante verhandelt selbst wieder, dadurch entsteht eine Schleife.

507

507 Insufficient Storage

Ein WebDAV-Code (RFC 4918): Der Server kann die nötigen Daten nicht speichern, zum Beispiel weil die Festplatte oder das Kontingent voll ist.

508

508 Loop Detected

Ein WebDAV-Code (RFC 5842): Der Server hat beim Verarbeiten eine Endlosschleife entdeckt. Manche Hoster nutzen ihn auch, wenn ein Account seine Ressourcenlimits überschreitet.

510

510 Not Extended

Der Server braucht für die Anfrage weitere Erweiterungen (RFC 2774). Das zugrundeliegende Erweiterungs-Framework gilt als historisch, der Code wird praktisch nicht genutzt.

511

511 Network Authentication Required

Der Client muss sich anmelden, um überhaupt ins Netz zu kommen (RFC 6585). Kommt von Captive Portals im Hotel- oder Flughafen-WLAN, nicht von der Website, die du aufrufen willst.

Häufige Fragen

Welcher Statuscode für eine gelöschte Seite: 404 oder 410?

Beides ist in Ordnung. Gibt es eine passende Ersatzseite, leite lieber per 301 dorthin weiter – dann landen Besucher und Linksignale am richtigen Ort. Ist der Inhalt ersatzlos weg, sagt 410 Gone das am deutlichsten, 404 Not Found passt aber genauso. Google behandelt beide als "nicht gefunden" und nimmt die URL mit der Zeit aus dem Index. Leite gelöschte Seiten nicht pauschal auf die Startseite um: Das wertet Google in der Regel ohnehin als Soft 404.

Was ist ein Soft 404?

Ein Soft 404 ist eine URL, die 200 OK liefert, obwohl die Seite eigentlich nicht existiert – zum Beispiel eine leere Suchergebnisseite, ein "Produkt nicht gefunden"-Template oder viele unpassende URLs, die alle auf die Startseite umgeleitet werden. Google erkennt solche Seiten, meldet sie in der Search Console und indexiert sie nicht. Die Lösung: einen echten 404 oder 410 ausliefern oder auf eine wirklich gleichwertige Seite weiterleiten.

Welchen Redirect-Code soll ich nehmen: 301, 302, 307 oder 308?

Für dauerhafte Umzüge nimmst du 301, oder 308, wenn die Request-Methode erhalten bleiben muss (APIs, Formular-Endpunkte). Für temporäre Weiterleitungen 302, bzw. 307, wenn die Methode erhalten bleiben soll. Alle vererben PageRank, aber nur 301 und 308 sind für Google ein starkes Signal, die Ziel-URL zu indexieren. Details findest du unter 301 vs. 302 und 307 vs. 308.

Wie finde ich heraus, welchen Statuscode eine URL liefert?

Gib die URL in den Redirect Checker ein. Er zeigt dir den Statuscode jedes Schritts, die Response-Header und das endgültige Ziel. So entdeckst du ungewollte 302er, Fehler am Ende einer Kette oder Redirect-Ketten, die du verkürzen solltest. Alternativ öffnest du im Browser die Entwicklertools und schaust in den Tab "Netzwerk".