Was verbirgt sich unter einem HTTP Status Code?

Die Übertragung von Webseiten im Internet erfolgt seit seiner Entstehung weitgehend über das Hypertext Transfer Protocol (HTTP), das den sicheren, zuverlässigen Austausch von Informationen zwischen Server und Client definiert. Jedes versendete oder empfangene Paket beendet ein HTTP Status Code, der als Antwort von der Gegenstelle gesendet oder – zum Beispiel bei Abbrüchen der Verbindung – lokal erzeugt wird. Er betätigt einen Datentransfer, markiert Besonderheiten bei Übertragung oder klassifiziert aufgetretene Fehler anhand ihres (vermeintlichen) Ursprungs.

Wie ist der HTTP Status Code aufgebaut?

Der HTTP Status Code besteht aus einer dreistelligen Ziffer, aus der sich die Art der Statusmeldung, ihr Ursprung und das Ergebnis einer versuchten Kommunikation ablesen lassen. Es existieren prinzipiell sechs verschiedene Gruppen mit streng abgegrenzter Bedeutung. Zu welcher Kategorie ein HTTP Status Code gehört, verrät immer die erste Zahl an der Hunderterstelle:

  • Code 1XX: Informationen zum aktuellen Stand einer laufenden Verbindung
  • Code 2XX: Erfolgreiche Beendigung einer Aufgabe oder eines Transfers
  • Code 3XX: Temporäre oder permanente Umleitungen zwischen zwei oder mehr Adressen
  • Code 4XX: Fehler auf der Seite des Clients, etwa Aufrufe nicht vorhandener Ressourcen oder fehlende Zugriffsrechte
  • Code 5XX: Server antwortet nicht oder kann eine Anfrage nicht korrekt verarbeiten
  • Code 9XX: Von verschiedenen Herstellern individuell genutzte, „proprietäre“ Codes

In den meisten Fällen sind HTTP Status Codes durchnummeriert und das Resultat wird als Zahl wie Kurzbeschreibung ausgegeben. Abhängig von der Kategorie existieren zwischen weniger als fünf und mehr als 30 verschiedene mögliche Antworten.

Welche sind die wichtigsten HTTP Status Codes?

Der mit Abstand häufigste HTTP Status Code ist 200 OK und bestätigt eine erfolgreiche Anfrage sowie das Senden einer Antwort. Allerdings wird er – wie nahezu jeder andere HTTP Status Code aus der 1XX uns 2XX Gruppe – nur in seltenen Ausnahmen dargestellt. Wird ein Client zum Beispiel in seinem Browser mit einem HTTP Status Code konfrontiert, handelt es sich nahezu ausnahmslos um einen Fehler, der eine erfolgreiche Kommunikation verhindert. Darunter fallen etwa:

  • 401 (Unauthorized) und 403 (Forbidden): Fehlen der Zugriffsrechte auf dem Server
  • 404 (Not Found): Aufruf von Adressen, die auf einem Server nicht oder nicht mehr vorhanden sind
  • 408 (Request Timeout): Server empfängt eine Anfrage nicht vollständig in dem von ihm definierten Zeitfenster
  • 429 (Too many Requests): Client hat zu viele Anfragen in zu kurzer Zeit gesendet
  • 500 (Internal Server Error): Server kann eine Aufgabe aus internen Gründen nicht verarbeiten
  • 502 (Bad Gateway) und 503 (Service Unavailable): Probleme in der Konfiguration eines Servers
  • 504 (Gateway Timeout): Temporär nicht erreichbarer oder überlasteter Server

Grundsätzlich ist zu berücksichtigen, dass ein HTTP Status Code stets lediglich eine Kurzbeschreibung mit einer entsprechend ungenauen Diagnose darstellt. Für eine exakte Fehleranalyse reichen sie lediglich in eindeutigen Situationen – etwa bei dem mittlerweile allgemein bekannten 404 Not Found – aus.

Welchen Einfluss hat der HTTP Status Code auf SEO und Webseiten?

In der SEO gelten einige Status Codes als negativ und können zu einer deutlichen Abwertung im Ranking führen. Zu diesen zählen unter anderem permanente 3XX Umleitungen und häufig auftretende 5XX Server Errors. Betreiber einer Webseite haben die außerdem die Möglichkeit, für manche HTTP Fehlercodes eigene Inhalte zu gestalten, um beispielsweise 404 Not Found automatisch auf eine Suchmaske umzuleiten. Der HTTP Status Code arbeitet unabhängig von einer Verschlüsselung über HTTPS und gibt keine Informationen zu deren Existenz oder Sicherheit aus. Zu unterscheiden sind deshalb andere, häufig auftretende Fehler wie fehlende, falsch ausgestellte oder selbst signierte Zertifikate – hier handelt es sich nicht um einen HTTP Status Code. Diese Fälle beruhen stattdessen auf der Programmierung von Clients wie Browsern, die Verbindungen aus Gründen der Sicherheit grundsätzlich ablehnen, wenn sie eine Webseite nicht zweifelsfrei identifizieren können.

Bild von Mohamed_hassan auf Pixabay