Zum Hauptinhalt springen

HTTP Status Codes

Wie wir im 👉 ersten Abschnitt gesehen haben, enthält das Antwortpaket nicht nur die gewünschte Ressource (die HTML-Datei), sondern zudem auch immer noch eine dreistellige Zahl, den sogenannten Status Code. Dieser soll dem Client genauere Auskunft darüber geben, wie er die Antwort zu interpretieren hat. In unserem Beispiel wurde die gewünschte Ressource erwartungsgemäss retourniert, was der Server mit dem Statuscode 200 (OK) bestätigt.

HTTP-Webseitenaufruf, Schritt 2: Antwort (Response)HTTP-Webseitenaufruf, Schritt 2: Antwort (Response)

Mindestens einen solchen Statuscode haben Sie aber bestimmt schon gesehen, nämlich 404 (Not Found). Diesen Statuscode retourniert der Server immer dann, wenn er die gewünschte Ressource nicht findet. Das wäre zum Beispiel der Fall gewesen, wenn wir im obigen Beispiel versehentlich nach DasProjekt.html statt nach TheProject.html gefragt hätten. Der eigentliche Inhalt des Pakets (die Payload) wäre in dem Fall leer gewesen.

Der Status Code ist deshalb wichtig, weil es auch andere Gründe haben kann, weshalb die keine Payload retourniert wird. Es könnte zum Beispiel auch sein, dass auf Seiten des Servers gerade etwas schiefgelaufen ist - die Benutzerin kann die Anfrage also getrost später nochmal versuchen. Weiter wäre es auch möglich, dass der Server die Ressource zwar gefunden hat, sie aber aus Berechtigungsgründen nicht herausgeben darf. In dem Fall müsste die Benutzerin sich vermutlich einloggen, oder um die entsprechende Berechtigung fragen. Der Status Code erlaubt es dem Browser also, die Benutzerin insbesondere im Fall einer unerwarteten Antwort möglichst genau zu informieren, weshalb es etwas nicht geklappt hat.

Häufig verwendete Status Codes
301
Moved Permanently
Die Adresse dieser Ressource hat sich dauerhaft geändert - die Ressource ist also "umgezogen". Die Antwort enthält die neue Adresse.
401
Unauthorized
Der Server kann die Identität des Clients nicht feststellen. Dieser muss sich authentifizieren (sprich, anmelden), um Zugriff auf diese Ressource zu erhalten.
403
Forbidden
Der Server kann die Identität des Clients zwar feststellen, dieser ist jedoch nicht dazu berechtigt, diese Ressource zu konsumieren.
404
Not Found
Der Server kann die angefragte Ressource nicht finden.
500
Internal Server Error
Der Server hat eine Situation angetroffen, die er nicht bewältigen kann.

Bonus: I'm a teapot

418
I'm a teapot
Der Server weigert sich, Kaffee zu kochen - denn er ist ein Teekessel!

Dieser Status Code geht zurück auf Aprilscherze aus den Jahren 1998 und 2014. Einige Server geben ihn aber auch heute teilweise noch als Antwort zurück, wenn sie eine bestimmte Anfrage nicht bearbeiten wollen. Das kann beispielsweise dann der Fall sein, wenn es sich um automatisierte Anfragen handelt, die für den Server eine hohe Belastung bedeuten können. Quelle: 👉 Mozilla Developer Network.