Was ist ein HTTP-Statuscode?

HTTP-Statuscodes werden von einem Webserver als Antwort auf Anfragen von Clients (also z.B. einem Browser) zurückgeliefert. Damit weiss der Client, ob seine ursprüngliche Anfrage verarbeitet werden konnte oder ob Fehler aufgetreten sind.

HTTP-Statuscodes sind dreistellige Zahlen und in fünf Klassen eingeteilt. Die erste Ziffer bestimmt dabei die Klasse. Dank den Statuscodes weiss ein Client, wie er eine Antwort vom Server einordnen muss und welche weiteren Schritte nötig sind.

101 – Switching Protocols

Die Statuscodes aus dem 100er-Bereich dienen dem Informationsaustausch, während die Anfrage noch bearbeitet wird. Für den Bereich stehen lediglich drei verschiedene Codes, nämlich 100, 101 und 102 zur Auswahl. 101 bedeutet dabei «Switching Protocols» und wird beispielsweise vom Server gesendet, wenn dieser über das modernere HTTP/2-Protokoll kommunizieren kann, die Anfrage aber über HTTP/1.1 geschickt wurde.

200 – Alles ok, weitermachen

Statuscodes aus dem 200er-Bereich signalisieren, dass die Anfrage erfolgreich verarbeitet werden konnte. So hat Ihr Browser von unserem Server in der Antwort den Statuscode 200 «OK» erhalten und stellt nun die übertragenen Daten (also diesen Blogbeitrag) dar.

301 – Wir sind umgezogen

Der Code 301 «Moved Permanently» signalisiert, dass die angeforderte URL neu unter einer anderen Adresse zu finden ist. Der Browser fordert automatisch diese neue URL an und speichert die Weiterleitung in seinem Cache, damit die Weiterleitung bei einem erneuten Aufruf nicht vom Server angefordert werden muss.

302 – Gefunden

Auch 302 «Found» lässt den Browser wissen, dass die angeforderte URL unter einer anderen Adresse zu finden ist. Im Gegensatz zu 301 ist diese Weiterleitung jedoch nicht dauerhaft und wird vom Browsers daher auch nicht im Cache gespeichert. Der Browser fragt also auch in Zukunft weiterhin die ursprüngliche URL ab. Der Code 302 wird oft einfach temporäre Weiterleitung genannt.

401 – Passwortschutz

Mit 401 «Unauthorized» teilt der Server mit, dass für die Anzeige des angeforderten Inhalts ein Benutzername und Passwort nötig ist.

403 – Verboten

Zeigt Ihr Browser 403 «Forbidden» an, fehlen die nötigen Zugangsberechtigungen. Das kann aufgrund eines falschen Passworts für einen passwortgeschützten Inhalts sein. Möglicherweise sind aber auch die Dateiberechtigungen nicht korrekt gesetzt.

404 – Seite nicht gefunden

Der HTTP-Statuscode, der vermutlich am Häufigsten anzutreffen ist. 404 «Not Found» signalisiert, dass die angeforderte URL nicht existiert, der Server darunter also keinen anzeigbaren Inhalt finden konnte. Die 404-Seite wird von Webentwicklern gerne genutzt, sich kreativ auszutoben, wie der Blog FourZeroFour zeigt.

451 – Zensierter Inhalt

Seit Februar 2016 steht Webentwicklern ein neuer Statuscode zur Verfügung. 451 «Unavailable For Legal Reasons» kann verwendete werden, wenn Inhalte aufgrund von gerichtlicher Anweisung vom Netz genommen werden muss. 451 spielt dabei auf den dystopischen Roman Fahrenheit 451 an.

500 – Da läuft was schief

Der Code 500 «Internal Server Error» bedeutet, dass auf Serverseite etwas nicht wie gewünscht funktioniert hat. Die Ursache dafür kann an ganz verschiedenen Orten liegen. Oft ist für die Meldung aber eine Anweisung in der .htaccess-Datei, eine Update eines CMS oder die Installation eines Plugins verantwortlich. Hat eine Website kurz zuvor noch einwandfrei funktioniert, empfiehlt es sich, allfällige Änderungen wieder rückgängig zu machen.

503 – Nicht verfügbar

Mit 503 «Service Unavailable» signalisiert der Server, dass der Server vorübergehend nicht antworten kann. Das kann aufgrund von Wartungsarbeiten sein. Oft sind auch Faktoren wie ein volles Webhosting oder das Erreichen von anderen Limiten dafür verantwortlich. Wird über längere Zeit der Code 503 gemeldet, hilft unser Support-Team gerne bei der Fehlersuche.

Alle Codes

Neben den erwähnten, stehen im HTTP-Protokoll noch eine ganze Menge anderer Statuscodes zur Auswahl. Einen Überblick finden Sie zum Beispiel beim W3C, auf httpstatuses.com oder bei Wikipedia.