Die HTTP Header Codes

Mit HTTP Status Codes teilst du dem Anwender beziehungsweise dem Browser des Anwenders verschiedene Dinge mit. Der Statuscode 200 heißt beispielsweise, dass die Seite normal geladen wurden, der Statuscode 404 hingegen steht für einen entstandenen Fehler.

HTTP-Statuscode senden

Wie sendet man eigentlich einen solchen Statuscode? Zum Teil geschieht dies automatisch beziehungsweise der Entwickler muss sich nicht darum kümmern.

Mit der .htaccess Datei auf Statuscodes zu reagieren ist eine Möglichkeit, auch kannst du die header() Funktion von PHP nutzen um Status Codes zu senden.

HTTP Statuscodes

Und das sind sie – die wichtigsten HTTP Statuscodes (nach Wikipedia):

  • 100 (Anfrage wird fortgeführt, Continue) / 102 (Anfrage läuft, Processing)
    100 und 102 ähneln sich, sie teilen beide mit, dass die Anfrage (meist größere Datenmengen) noch andauert.
  • 200 (Fertig, OK)
    Der HTTP Statuscode 200 wird verwendet um mitzuteilen, dass die Seite vollständig geladen wurde und der Vorgang abgeschlossen ist. Er ist somit einer der bekanntesten Codes.
  • 301 (Seite ist umgezogen, Moved Permanently)
    Mit 301 wird dem Anwender mitgeteilt, dass die aufgerufene Seite dauerhaft umgezogen ist. Man wird dann in der Regel auf die neue Seite durch die Angabe der Location weitergeleitet.
  • 302 (man wird vorübergehend weitergeleitet, veraltet!)
    Dieser Statuscode sollte nicht mehr verwendet werden, da er veraltet ist, dies liegt auch daran, dass Suchmaschinen einer solchen Weiterleitung nicht folgen.
  • 303 (man wird zu den Inhalten weitergeleitet, See Other)
    Mit diesem HTTP Statuscode wird mitgeteilt, dass eine Weiterleitung zu den Inhalten erfolgt/erfolgen soll.
  • 304 (keine Veränderung, Not Modified)
    Wenn die Seite seit dem letzten Ladevorgang keine Änderungen vorweist, dann kommt der Statuscode 304 zum Einsatz.
  • 307 (temporäre Weiterleitung, Temporary Redirect)
    Wenn die „Location“-Adresse für einen begrenzten Zeitraum die gültige ist, dann wird 307 verwendet.
  • 400 (fehlerhafte Anfrage, Bad Request)
    Mit dem durchaus bekannten Statuscode 400 wird mitgeteilt, dass die Anfrage fehlerhaft aufgebaut war.
  • 401 (Login erforderlich, Unauthorized)
    Dieser Statuscode wird in der Regel verwendet, wenn ein Nutzer nicht das Zugriffsrecht für die aktuelle URL besitzt, dieses aber zum Beispiel durch einen Login erlangen kann.
  • 403 (Zugriff verboten, Forbidden)
    Bei Zugriffen auf URLs, welche für alle Nutzer „verboten“ sind (z.B. die Ordneransicht) wird der HTTP Statuscode 403 gesendet.
  • 404 (Seite nicht gefunden, Not Found)
    Ein 404 Code bedeutet, dass die Ressource nicht gefunden wurde. Ein sehr häufig auftretender beziehungsweise bekannter Status Code.
  • 405 (Nur GET/POST, Method Not Allowed)
    Ein sehr interessanter Code, den ich vorher noch nicht bewusst wahrgenommen habe. Damit wird ausgedrückt, dass man GET/POST verwendet hat, jedoch nur die jeweils andere Methode erlaubt ist.
  • 500 (serverinterner Bearbeitungsfehler, Internal Server Error)
    Den HTTP Statuscode 500 hat vermutlich der ein oder andere von euch auch schon gesehen. Er umfasst einige Fehlerbereiche, wobei meistens Fehler bei der Verarbeitung der .htaccess aufgetreten sind. Solltest du diese kurz zuvor bearbeitet haben – dann weißt du, woran es liegt.
  • 503 (Wartungsarbeiten, Service Unavailable)
    Ich habe es mal mit „Wartungsarbeiten“ übersetzt. 503 heißt im Prinzip, dass der Server aktuell nicht zur Verfügung steht.

 

Fazit: HTTP Statuscodes

Es gibt also, wie man an dieser vergleichsweise kleinen Übersicht gesehen hat, einiges an Statuscodes für die unterschiedlichsten Zwecke. Es schadet nicht als Webmaster die wichtigsten wie zum Beispiel 404, 403 und 500 etc. zu kennen.

Auch das Senden von HTTP Header Statuscodes ist leicht gemacht, wenn es nicht, wie häufig der Fall, der Webserver automatisch macht.