Täglich wird das Internet von Millionen von Menschen für alle möglichen Dinge genutzt. In der Regel geben wir dabei eine Internetadresse oder URL ein und erhalten unsere Webseite. Manchmal kommt es jedoch zu einem Fehler. Die Webseite wird nicht angezeigt und ein Status Code wird ausgegeben, der auf den Fehler hinweist. Vielen Usern ist jedoch die Bedeutung dieser Codes nicht klar, obwohl sie viel über das Geschehene aussagen.
Was genau sind HTTP Status Codes?
Ein HTTP Status Code ist ein Code, der von einem Webserver an den Webbrowser ausgegeben wird, um bestimmte Informationen zur übermitteln. Dabei dienen die Codes vor allem dazu, um dem Browser mitzuteilen, wie mit einer Anfrage umzugehen ist bzw. um auf eine gestellte Anfrage eine Rückmeldung zu geben. Dem gewöhnlichen Benutzer fällt ein solcher Status Code in der Regel immer dann auf, wenn etwas nicht funktioniert. Einer der wohl bekanntesten Status Codes, ist der Error 404 – Seite nicht gefunden. Der Status Code wird jedoch nicht nur bei Fehlern ausgegeben. Auch wenn eine Operation erfolgreich war, ein User umgeleitet wird, oder wenn eine Vielzahl an anderen Aktionen und Maßnahmen auf dem Server ausgeführt werden, werden diese im Rahmen von Status Codes an den Browser übermittelt. In den meisten Fällen bekommen Sie als gewöhnlicher User davon jedoch nichts mit.
Die Status Code Gruppen
Alle HTTP Status Codes unterteilen sich in insgesamt sechs Gruppen, welche von eins bis sechs sowie neun durchnummeriert sind und sich jeweils auf eine bestimmte Kategorie an Meldungen beziehen. Allgemein sind die Gruppen wie folgt zugewiesen:
* 1xx gibt allgemeine Informationen aus
* 2xx beinhaltet die Codes für erfolgreiche Operationen
* 3xx enthält die Codes für Um- und Weiterleitungen
* 4xx ist für die Client Fehler verantwortlich
* 5xx ist für Server Fehler verantwortlich
* 9xx gibt proprietäre Fehler aus
In diesen sechs Gruppen sind also alle Status Codes für das HTTP Protokoll zusammengefasst. Jede Gruppe enthält eine unterschiedliche Anzahl an Codes, die eine bestimmte Situation, einen Zustand oder einen Status angeben.
Die 1xx Gruppe – Allgemeine Informationen
Diese Gruppe umfasst drei Stati, nämlich den Status Code 100, 101 und 102. Diese Codes sind für die Ausgabe von allgemeinen Informationen und Hinweisen verantwortlich. Der Code 100 etwa gibt einen Continue Befehl an den Browser zurück, der ihm mitteilt, dass er mit einer potentiell großen und serverlastigen Anfrage fortfahren kann. Der Code 101 hingegen teilt dem Browser mit, dass das Protokoll gewechselt wird, z.B. bei einem Wechsel von HTTP auf FTP, etc. Die 102 schließlich steht für Processing und teilt dem Browser mit, dass die Anfrage noch aktiv bearbeitet wird. Auf diese Weise wird ein Timeout verhindert. Die Codes dieser Kategorie dienen ausschließlich der Kommunikation mit dem Browser, sodass Sie im Normalfall nichts von diesen mitbekommen.
Die 2xx Gruppe – Erfolgreiche Operationen
Bei diesen Codes handelt es sich um reine Informationsausgaben. Die Stati in dieser Kategorie geben einfache Rückmeldungen, wie z.B. OK, das ein Formular übertragen wurde, oder das eine Seite bewusst keine Inhalte enthält. In den meisten Fällen bekommen Si als normaler Nutzer von diesen Codes nichts mit und benötigen diese auch nicht.
Die 3xx Gruppe – Weiterleitungen
Die Gruppe der 300er Codes befasst sich ausschließlich mit Umleitungen. Sie beinhalten Rückmeldungen etwa zur permanenten Umleitung, zur Proxy Nutzung, etc. Sie dienen vor allem dazu, den Browser auf diese Umleitungen aufmerksam zu machen und auf die richtige URL oder den korrekten Pfad zu deuten. Als Nutzer bekommen Sie auch von den Status Codes dieser Gruppe in der Regel nichts oder nur sehr wenig.
Die Gruppe 4xx – Client Fehler
Die 400er Gruppe ist die erste Gruppe, die sich mit aktuellen Fehlermeldungen befasst. In diesem Fall handelt es sich um Client Fehler, d.h. um Probleme, die vom Client, also dem Webbrowser verursacht worden sind bzw. um solche Fehler, die von dem Client ausgelöst wurden. Die Zahl der verschiedenen Fehlercodes ist beträchtlich, der gewöhnliche Nutzer trifft jedoch in der Regel vor allem auf drei Codes aus dieser Gruppe, nämlich auf die 400, auf die 403 sowie auf die 404.
Der Error 400 – Bad Request steht für eine fehlerhafte Anfrage. Hier hat der Browser eine Funktion oder eine Seite angefragt. Die Anfrage war jedoch fehlerhaft aufgebaut und konnte daher nicht vom Server ausgeführt werden. Ebenfalls häufig zu sehen bekommen Sie den Error 403 – Not Allowed. Dieser Fehler tritt immer dann auf, wenn Sie sich auf eine Webseite begeben, für die Sie keinen Zugriff haben. Möchten Sie zum Beispiel auf ein Server Verzeichnis zugreifen, ohne die entsprechenden Rechte zu haben, oder geben Sie die falschen Zugangsdaten bei einer .htaccess Abfrage ein, erhalten Sie diese Fehlermeldung. Der bei weitem am häufigsten auftretende Fehler, ist der Error 404 – Not Found. Wann immer Sie eine ungültige oder falsche Webseite eingeben, ist ein Error 404 die Antwort.
Die 5xx Gruppe – Server Fehler
Steht die 400er Gruppe für Client Fehler, also für Fehler, die durch den Webbrowser verursacht werden, so steht die 500er Gruppe für das Gegenteil. Sie gibt Fehlermeldungen zurück, die vom Server ausgelöst bzw. auf dem Server verursacht wurden. Der wohl bekannteste Fehler, ist der Error 500 – Internal Server Error. Bei diesem handelt es sich um eine Sammelfehlermeldung für eine Reihe von Serverfehlern, die keinen eigenen Code haben und nicht näher spezifiziert sind. Weitere häufige Serverfehler sind der Error 502 Bad Gateway, etwa wenn ein schlechter Proxy verwendet wird oder die Weiterleitung scheitert sowie der Error 503 Service Unavailable, wenn ein Server vorübergehend, z.B. aufgrund von Wartungsarbeiten, nicht verfügbar ist. Gelegentlich treffen Sie außerdem auf einen Error 504 Gateway Timeout, der Ihnen mitteilt, dass die Verbindung aufgrund eines Timeout abgebrochen wurden. Vor allem auf wichtigen Webseiten oder bei Sonderangeboten treffen Sie außerdem öfter auf den Error 509 – Bandwidth Limit Exceeded. Die Meldung gibt an, dass die Anfrage abgebrochen wurde, weil ansonsten die Bandbreite des Servers überschritten worden wäre.
Die 9xx Gruppe – Proprietäre Statusmeldungen
Die 900er Gruppe ist komplett für eigene, sogenannte proprietäre Fehlermeldungen reserviert. Sie soll Server Administratoren und Webmastern dazu dienen, um eigene Fehlermeldungen und Stautscodes zu entwickeln und zu nutzen. Aus diesem Grund kann die Verwendung der Stati von Server zu Server und von Konfiguration zu Konfiguration verschieden sein. Eine Erklärung der Codes oder eine Aussage darüber, welche Codes verwendet werden, kann daher ebenfalls nicht getroffen werden.