Was sind HTTP-Statuscodes?

Wer eine HTTP-Verbindung zu einer Website bzw. einem Webserver aufbaut, der bekommt als Antwort (Response) einen sog. HTTP-Statuscode zurück, der Auskunft darüber gibt, ob die Anfrage (Request) erfolgreich gewesen war oder ob Fehler aufgetreten sind. Der bekannteste HTTP-Statuscode ist wohl der 404-Error, welcher aussagt, dass die angeforderte Ressource auf dem Server nicht gefunden wurde.

Wenn ihr eine Internetseite jedoch problemlos aufrufen könnt, so wird der Statuscode 200 OK gesendet, der nichts anderes aussagt, als dass die Anfrage erfolgreich war. Es gibt auch noch in anderen Netzwerkprotokollen, wie beispielsweise im FTP-Protokoll, Statuscodes. Hier behandeln wir jedoch nur Statuscodes vom Hypertext Transfer Protocol.

Wie wird der HTTP-Statuscode gesendet?

Der HTTP-Statuscode wird bei jedem Response vom Server zum Client im Header des HTTP-Response platziert. Der HTTP-Header enthält wichtige Informationen über die verwendete Codierung und/oder den Inhaltstyp (zum Beispiel ob es sich um eine HTML-Seite, ein Bild oder eine Flash-Animation handelt). Der HTTP-Body enthält dann den eigentlichen Inhalt. In den meisten Fällen also die HTML- bzw. PHP-Seite oder ein Bild, welches der Nutzer angefordert hat.

HTTP-Statuscode mit PHP senden

Mit der serverseitigen Programmiersprache PHP und der Funktion header() ist es möglich, einen beliebigen HTTP-Statuscode an einen Client zu senden. Dabei schreibt man in der Regel als erstes die verwendete HTTP-Version und danach den Statuscode und ggf. auch noch die Beschreibung dazu.

Im folgenden Codebeispiel seht ihr, wie man einen HTTP-Statuscode mit PHP sendet.

<?php header('HTTP/1.1 500 Internal Server Error');

Die HTTP-Statuscodes

Nachfolgend eine Liste einiger bekannter HTTP-Statuscodes. Man unterscheidet zwischen clientseitigen (4xx) und serverseitigen (5xx) Fehlern. Des Weiteren gibt es noch 1xx für eine Information, 2xx für eine erfolgreiche Operation und 3xx für Umleitungen bzw. Weiterleitungen (Redirect's). In der folgenden Tabelle sind nur die wichtigsten Statuscodes enthalten, die in der Regel häufiger vorkommen. Alle anderen wurden ausgelassen!

StatuscodeBeschreibung
101Switching Protocols
200OK
202Accepted
204No Content
301Moved Permanently
302Found
303See Other
305Use Proxy
307Temporary Redirect
400Bad Request
401Authorization Required
403Forbidden
404Not Found
408Request Timeout
414Request-URL Too Long
500Internal Server Error
502Bad Gateway
503Service Unavailable
504Gateway Timeout

Hinweis:
Dies ist ein älterer Artikel von meinem alten Blog. Die Kommentare zu diesem Artikel werden (falls vorhanden) später noch hinzugefügt.

Der Autor

Unter dem Namen »TheBlackPhantom« alias »BlackY« veröffentlichte ich auf meinem alten Blog, BlackPhantom.DE, in der Zeit von 2011 bis 2015 leidenschaftlich Beiträge über Computer, Internet, Sicherheit und Malware. Während der BlackPhantom-Zeit war ich noch grün hinter den Ohren und lernte viel dazu. Mehr Infos vielleicht in Zukunft...