HTTP Status Codes: Was bedeuten sie?

Bei jedem Aufruf einer Webseite tauschen sich ein Client (wie der Browser) und der angefragte Server darüber aus, wie gut diese Anfrage funktioniert. Dazu nutzen sie HTTP-Statuscodes. Tauchen dabei Vokabeln wie HTTP 503 oder Fehler 404 auf, gibt es ein Problem. Wir erklären, was die kryptischen Codes bedeuten.

Auf dieser Seite und ihren Unterseiten, die rechts oder direkt unter diesem Artikel verlinkt sind, findest du Details zum gesamten Themenkomplex der HTTP-Statuscodes.

Ein Referenzartikel von Google zeigt genau, wie der Googlebot-Crawler auf bestimmte Fehlercodes reagiert.

HTTP Statuscodes: Eine Übersicht

Mit jedem Klick auf Google SERPs oder der Eingabe einer URL in die Browser-Adressleiste löst du einen Prozess aus Frage und Antwort aus: 

Der Browser fragt auf Grundlage der URL-Struktur einen bestimmten Server an, auf dem die Webseite theoretisch zu finden ist. Der Server antwortet, ob diese Webseite tatsächlich dort liegt und wie es um den Zugriff auf diese Seite steht.

Mit der Anfrage geht die Aufforderung einher, die gewünschten Daten an den Client zu übertragen. Dieser Aufforderung will der Server nachkommen – meistens kann er es, manchmal nicht.

Für jeden Schritt in diesem Frage-Antwort-Spiel gibt es eine Zustandsbeschreibung bzw. Statusmeldung. Diese wird als HTTP-Statuscode angegeben. Die Codierung beruht auf dem Übertragungsprotokoll HTTP.

Wie werden HTTP-Statuscodes eingeteilt?

Von den mehr als 60 gültigen HTTP-Codes kennt der normale Nutzer im Normalfall nur wenige – darunter der berühmte Fehler 404 für Seite nicht gefunden (Not Found).

Ein Großteil der verwendeten Codes dient nur der technischen Kommunikation zwischen Client und Server, die der Nutzer nicht zu Gesicht bekommen soll. 

Generell werden HTTP-Statuscodes in fünf Klassen unterteilt und dreistellig codiert:

  • Klasse 1XX beinhaltet Codes bzw. Statusmeldungen über die laufende Anfrage. Der Server sagt dem Client, dass er seine Anfrage erhalten hat und diese nun verarbeitet. 
  • Klasse 2XX meldet, dass die Anfrage erfolgreich verarbeitet wurde. Während Server und Client diese Codes austauschen, werden Daten mitgeschickt, die Webseite korrekt dargestellt. Von Codes wie HTTP 200 (OK) oder HTTP 204 (No Content, Antwort bewusst ohne Daten) kriegst du nichts mit.
  • Klasse 3XX verkündet, dass an der ursprünglich angefragten Adresse eine Weiterleitung zu einer neuen Adresse existiert, auf der die Inhalte nun zu finden sind. Hier wird der Nutzer aus Sicherheitsgründen oft gefragt, ob er dieser Weiterleitung folgen will.
  • Klasse 4XX beinhaltet Probleme aus Client-Fehlern. Seiten können nicht oder nicht im Zeitrahmen an ihrer ursprünglichen Adresse gefunden werden, es gibt keine Inhalte oder der Zugriff ist nicht erlaubt.
  • Klasse 5XX umfasst Probleme von Server-Seite – zum Beispiel, wenn der Proxyserver keinen Kontakt zum Hauptserver herstellen kann oder dieser zu lange braucht, um auf die Anfrage des Proxy zu antworten.

Welchen Einfluss haben HTTP-Statuscodes auf die Suchmaschinenoptimierung?

Im Rahmen der Onpage-Optimierung einer Website sollten die HTTP-Statuscodes stets im Auge behalten und wenn nötig optimiert/repariert werden. Das Auswerten von HTTP-Statuscodes gibt Aufschluss darüber, ob der Webserver funktioniert und alle verfügbaren Inhalte von Clients (zB Browsern) fehlerfrei abgerufen werden können.

Da der Googlebot in regelmäßigen Abständen eine Website crawlt, sollten alle verlinkten Inhalte sowie URLs aufrufbar sein. Sonst kann es passieren, dass nicht abrufbare Inhalte aus dem Google-Index genommen werden und somit nicht mehr in den Suchergebnissen erscheinen.

Googles Referenzdokument, wie der Crawling- und Indexierungsprozess auf die oben genannten Fehler reagiert, ist hier verfügbar

Weitere Informationen zum Thema Crawling und Indexierung findest du hier.

Welche HTTP-Fehlercodes sind verbreitet – und was kann man tun?

Erst, wenn aus einem HTTP-Statuscode ein HTTP-Fehlercode wird, müssen sich Anwender für diese Sprache interessieren. Wenn du weißt, was ein Code bedeutet, kannst du ein Problem in vielen Fällen selbst beheben. 

Zu den bekanntesten Statuscodes gehören:

  • 200 – OK: Die angeforderte Ressource (URL) wurde auf dem Server gefunden und kann an den Client übertragen werden.
  • 301 – Moved Permanently: Die 301-Weiterleitung ist die sicherste Bank, um 404-Fehlermeldungen zu vermeiden und URL-Migrationen zu vereinfachen.
  • 302 – Moved Temporarily: Die URL der Website wurde vorübergehend umgeleitet. Mit dem Code 302 können Webseitenbetreiber zwar viele Probleme umgehen, verwirren aber auch Nutzer, Google und so manche Sicherheitssoftware.
  • 400 – Bad Request: Die Anfrage des Clients war fehlerhaft. Mit einer neuen Eingabe der URL oder dem Löschen von Cache und Cookies ist das oft gelöst.
  • 401 – Unauthorized: Der Client hat sich nicht ausreichend identifiziert, um auf diese Seite zuzugreifen. Gut, um bestimmte Verzeichnisse vor Dritten zu verschließen.
  • 403 – Forbidden: Der Nutzer bzw. Client hat keine Berechtigung, auf diese Seite zuzugreifen. Dieser Statuscode ergibt sich auch, wenn du eine mit HTTPS codierte URL nur mit HTTP aufrufen willst.
  • 404 – Not Found: Die Seite existiert unter der angegeben URL nicht (mehr). Als einer der sichtbarsten HTTP-Statuscodes hat 404 viele Design-Ideen hervorgebracht, sollte aber vom Webseitenbetreiber schnellstens behoben werden (etwa durch Weiterleitungen). 
  • 503 – Service Unavailable: Der Server ist zeitweise vom Netz – weil er gewartet wird oder unter zu vielen Anfragen zusammengebrochen ist. Die Lösung ist einfach: „Bitte versuchen Sie es später noch einmal.“

1xx – Informationen

  • 100 – Continue
  • 101 – Switching Protocols
  • 102 – Processing
  • 103 – Early Hints 

Die 1xx-Kategorie ist eine Antwort, die anzeigt, dass die Anfrage empfangen und verstanden wurde. Diese Kategorie ist insofern eine Anomalie, als dieser Abschnitt der Statuscodes selten verwendet wird.

2xx – Erfolgreiche Operation

  • 200 – OK
  • 201 – Created
  • 202 – Accepted
  • 203 – Non-Authoritative Information
  • 204 – No Content
  • 205 – Reset Content
  • 206 – Partial Content
  • 207 – Multi-Status
  • 208 – Already Reported
  • 226 – IM used

Jeder Statuscode innerhalb der 2xx-Kategorie bedeutet, dass die Anfrage erfolgreich war. Sowohl 200 als auch 201 sind ähnlich, aber 201 gibt dem Browser etwas mehr Informationen, da es signalisiert, dass etwas erstellt wurde, während 200 wörtlich „OK“ bedeutet. 200 und 201 werden vom Google-Crawling- und Indexierungsprozess gleich behandelt.

204 ist ein üblicher Code innerhalb dieser Kategorie und bedeutet, dass der Server die Anfrage verarbeitet hat, aber keinen Inhalt zurückgegeben hat. Dies ist jedoch beabsichtigt, da es die Absicht war, keinen Inhalt zurückzugeben, und wird daher immer noch als erfolgreiche Rückgabe betrachtet. Für den Crawling- und Indexierungsprozess von Google kann ein 204 als Soft-404 in der Google Search Console angezeigt werden.

3xx – Umleitung

  • 300 – Multiple Choices
  • 301 – Moved Permanently Google wertet dies als ein starkes Signal, dass das Ziel kanonisch ist (in Bezug auf die Indexierung).
  • 302 – Found Google wertet dies als ein schwaches Signal, dass das Ziel kanonisch ist (in Bezug auf die Indexierung).
  • 303 – See Other – Google wertet dies als ein schwaches Signal, dass das Ziel kanonisch ist (in Bezug auf die Indexierung).
  • 304 – Not Modified – Hat keinen Einfluss auf die Indexierung, aber die URL wird möglicherweise für Ranking-Signale neu berechnet.
  • 305 – Use Proxy
  • 306 – Switch Proxy
  • 307 – Temporary Redirect Google behandelt dies als ein 302-Statuscode.
  • 308 – Permanent Redirect – Google behandelt dies als ein 301-Statuscode.

Webseiten sind komplex und die Bedürfnisse deiner Nutzer oder auch deines Geschäftsmodells als Ganzes ändern sich ständig. Manchmal ist eine Seite umgezogen oder mit einer anderen Seite verschmolzen, so dass die ursprüngliche URL den Nutzer nicht mehr dorthin führt, wo er sein möchte. Oder vielleicht hat sich dein Domainname geändert und du willst keine Kunden verlieren, die noch die alte URL besuchen, also weist du die Seite an, die Nutzer stattdessen auf deine neue Website umzuleiten. Solche Beispiele sind es, wo die 3xx Kategorie von Statuscodes verwendet werden.

304 ist ein häufiger Statuscode in dieser Kategorie. Es geht nicht so sehr darum, den Nutzer von einer URL auf eine andere umzuleiten, sondern eher um das Zwischenspeichern von Informationen. Wenn sich auf der Seite nichts geändert hat, informiert der 304-Statuscode den Nutzer, ohne dass die Datenmenge erhöht werden muss, was den Browser verlangsamen würde. Hätte sich eine der Informationen geändert, dann würde der Statuscode auf die entsprechende 2xx Antwort wechseln.

4xx – Client-Fehler

  • 400 – Bad Request
  • 401 – Unauthorized
  • 402 – Payment Required
  • 403 – Forbidden
  • 404 – Not Found
  • 405 – Method Not Allowed
  • 406 – Not Acceptable
  • 407 – Proxy Authentication Required
  • 408 – Request Timeout
  • 409 – Conflict
  • 410 – Gone
  • 411 – Length Required
  • 412 – Precondition Failed
  • 413 – Payload Too Large
  • 414 – Uri Too Long
  • 415 – Unsupported Media Type
  • 416 – Range Not Satisfiable
  • 417 – Expectation Failed
  • 418 – I’m A Teapot
  • 421 – Misdirected Request
  • 422 – Unprocessable Entity
  • 423 – Locked
  • 424 – Failed Dependency
  • 425 – Too Early
  • 426 – Upgrade Required
  • 428 – Precondition Required
  • 429 – Too Many Requests
  • 431 – Request Header Fields Too Large
  • 451 – Unavailable For Legal Reasons

Für den wichtigen Crawling- und Indexierungsprozess von Google gibt es nun einige Punkte zu beachten. Alle 4xx-Fehler senden Nachrichten an die Indexierungs-Pipeline, dass der Content nicht existiert und die URL aus dem Index entfernt wird. 401- und 403-Fehler sollten nicht verwendet werden, um die Crawl-Rate zu beeinflussen. Das 429-Signal wird als Server-Fehler behandelt (5xx-Statuscodes. Siehe unten.)

Die 4xx-Kategorie ist die bekannteste Kategorie aller HTTP-Statuscodes. Im Wesentlichen teilt sie mit, dass auf der Seite des Clients ein Fehler vorliegt. Aus der Sicht eines Webmasters sind 4xx-Codes diejenigen, auf die man besonders achten sollte, weil sie eine schlechte Nutzererfahrung hervorrufen, wenn der Nutzer die Aktion nicht ordnungsgemäß abschließen kann. 

So bedeutet zum Beispiel “401 Unauthorized”, dass man keinen Zugriff auf die Seite hat, was passieren kann, wenn der Besucher keine Berechtigung hat, die Inhalte zu sehen, oder wenn man nicht eingeloggt ist. “403 Forbidden” bedeutet, dass der Nutzer versucht, eine Seite aufzurufen, für die Administratorrechte benötigt werden. 

Sowohl 401 als auch 403 HTTP-Statuscodes fungieren als virtueller Gatekeeper, der die Website vor verdächtigen Aktivitäten schützt. 401 bedeutet jedoch, dass der Nutzer überhaupt nicht erkannt wird, während 403 den Nutzer zwar erkennt, aber weiß, dass der Nutzer nicht die richtigen Login-Informationen hat, um den Webseiteninhalt anzuzeigen. 

404 ist wohl der bekannteste aller HTTP-Statuscodes. Der Statuscode zeigt an, dass die Seite, auf die der Nutzer zugreifen möchte nicht existiert. 

Eine bemerkenswerte Erwähnung in der 4xx-Kategorie ist der 418 “I’m a Teapot”-Code. Er ist als Aprilscherz zu verstehen und bedeutet „der Server weigert sich, Kaffee zu kochen, weil er permanent eine Teekanne ist“. Obwohl dieser Statuscode eigentlich nie verwendet wird, hat Google ihm eine eigene Seite gewidmet

5xx – Server-Fehler

  • 500 – Internal Server Error
  • 501 – Not Implemented
  • 502 – Bad Gateway
  • 503 – Service Unavailable
  • 504 – Gateway Timeout
  • 505 – Http Version Not Supported
  • 506 – Variant Also Negotiates
  • 507 – Insufficient Storage
  • 508 – Loop Detected
  • 510 – Not Extended
  • 511 – Network Authentication Required

5xx-Fehler beziehen sich auf Fehler innerhalb des Servers, d.h. dass er nicht laden kann, weil eine Verbindung nicht hergestellt werden kann. Normalerweise liegt der Fehler bei der Hosting-Plattform selbst und ist unerwartet. 

Zum Beispiel könnte ein 500 “Internal Server Error” durch einen Fehler im Code verursacht werden, was bedeutet, dass die Seite nicht wie gewünscht oder überhaupt nicht geladen wird. Diese Art von Statuscode hilft dabei, den Ort des Problems zu identifizieren, nämlich dass es sich um etwas innerhalb des Servers handelt und nicht um einen Nutzerfehler. 

Für Google führen alle 5xx-Fehler, zusammen mit dem 429-Fehler, dazu, dass Google die Crawl-Rate für die Seite vorübergehend verlangsamt und die Verringerung ist proportional zu der Anzahl der gefundenen Fehler. Anhaltende Fehler senden Signale an die Indexierungspipeline, dass die URL aus dem Index entfernt werden sollte.

Google gibt an, dass indexierte URLs, die unerreichbar sind, innerhalb von Tagen aus dem Index entfernt werden.

Inoffizielle Codes

Andere HTTP-Statuscodes bewegen sich auf einer Skala von 103 bis 598. Diese Codes sind nicht durch einen Standard spezifiziert und passen daher nicht in eine bestimmte Kategorie. 

Ein bemerkenswertes Beispiel ist der 522 „Connection Timed Out“-Fehler von Cloudflare. Da Cloudflare als Mittelsmann zwischen dem Server und dem Nutzer agiert, ist es im Falle eines Fehlers nicht in der Lage, das Ergebnis abzurufen und die Seite fällt aus, bis der Fehler behoben ist. 

Fazit

HTTP-Statuscodes bilden eine der wichtigsten Grundlagen für die Interaktion im Netz. Auch wenn es im Alltag kaum Gründe gibt, sich damit zu beschäftigen, helfen dir die wichtigsten Codierungen sowohl als Nutzer als auch als Webseitenbetreiber dabei, eine reibungslose Erreichbarkeit von Webseiten sicherzustellen. 

Fallstudien und relevante News

Erklärvideo von Google

In dieser Folge von Ask Google Webmasters erklärt John Mueller, was passiert, wenn du eine 301-Weiterleitung auslöst und welche Faktoren bei der Kanonisierung eine Rolle spielen.

19.08.2021