Was bedeuten die HTTP-Statuscodes?
Die HTTP-Statuscodes sind uns unter anderem als Error 400 oder 500 mit Erweiterungen (403, 404 etc.) bekannt. Es gibt noch weitaus mehr solcher Fehlercodes, die wir oft gar nicht bemerken, weil sie im Hintergrund ablaufen. Was steckt wirklich dahinter?
Statuscodes haben vielschichtige Ursachen.
Das Wichtigste vorweg: Diese Codes haben in der Regel nicht nur einen, sondern mehrere Gründe. Wer sie kennt, kann gezielt nach einer Lösung suchen. Es gibt für Webserver fünf verschiedene solcher Codes:
- 1xx bis 3xx bemerken wir nicht, weil sie im Hintergrund ablaufen
- 4xx bis 5xx werden auf dem Bildschirm als Error angezeigt
Alle Codes geben ihrem Namen entsprechend den Status des betreffenden Problems an. Ihre Zahlenfolge schickt der Server zum Endgerät (Client, also PC, Tablet oder Smartphone). Die „Fehler“ treten demnach beim Aufruf einer URL auf. Echte Einschränkungen verursachen Fehlermeldungen mit den Ziffernfolgen 4xx und 5xx.
HTTP-Statuscodes: Error 4xx
Hierfür gibt es schnelle Lösungsansätze, manchmal ist aber auch Deep Dive (tieferes Eintauchen in das Problem) gefragt. Der erste Hinweis eines 4xx Errors bedeutet „Fehler beim Client“. Sehr bekannt ist der 404 Error, der sich manchmal schnell beheben lässt:
- Seite neu laden, was mit F5 am schnellsten geht
- Schreibweise der URL überprüfen, eventuell nur „/“ hinzufügen
- Cache leeren und Cookies löschen (unter „Einstellungen“)
- betreffende Seite in Google suchen, um sie von einer anderen URL (einer ihrer Unterseiten) aus aufzurufen
- Webmaster der Seite anschreiben, falls sie komplett down zu sein scheint
Wenn das alles nicht hilft, ist Deep Dive gefragt. Es könnte ein Problem beim Upload geben, wenn jemand auf die Seite eine Datei laden will. Das passiert zum Beispiel, wenn jemand ein zu grosses oder zu kleines Bild in ein Forum laden will. Die grössten Probleme gibt es mit zu umfangreichen Dateien. In diesem Fall heisst es, die Anweisungen der Seite genau zu studieren. Sollte die eigene Datei eigentlich nicht zu gross sein, muss der Admin der betreffenden Seite helfen. Er kann unter anderem temporär die Grössenbeschränkung aufheben.
Der Fehlercode 404 zeigt an, dass die 301-Weiterleitungen einer gelöschten Seite fehlen oder fehlerhaft sind. Wenn jemand seine Seite aus dem Netz nimmt, weil er sie nicht mehr braucht, wird sie in Google nach wie vor mit der entsprechenden Suche gefunden – inklusive ihrer (meisten) Unterseiten. Viele der Webmaster, die alte Seiten nicht nur einem blossen Relaunch unterziehen, sondern besser gleich neu aufsetzen und dann die alte Version löschen, sollten von der alten URL aus eine 301-Weiterleitung installieren. Unterlassen sie das oder machen sie dabei Fehler, erscheint Error 404. Dieses Problem ist relativ gut bekannt. Die meisten Admins wissen, dass sie in der .htaccess-Datei die 301-Weiterleitung einrichten können.
Ein weiterer, oft monierter Statuscode der 400-Reihe ist 429: Er bedeutet, dass der Server zu viele Anfragen erhalten hat. In WordPress ist dieser Fehler durch den Admin zu beheben, wenn er die URL des Log-ins ändert. Auch interne Links, Themes und Plug-ins lohnt es sich zu überprüfen. Professionelle Hoster kennen den tückischen Fehler und helfen ihren Kunden gern weiter. Gern taucht 429 auch beim Zurücksetzen eines Passworts auf, wobei schlichtes Warten helfen kann. In Google Chrome hält sich der Fehler hartnäckig. Google weiss das und hat hierfür ein extra 429 Forum eingerichtet.
HTTP-Statuscodes: Error 500 – Probleme auf dem Server
Der HTTP-Statuscode der 500er-Reihe hat etwas mit einem Fehler beim Server zu tun, auf dem die Seite liegt. Der Nutzer kann dagegen nichts tun ausser den Admin kontaktieren, wenn er hierfür eine Möglichkeit ausserhalb der Seite kennt. Webmaster sollten wissen, dass folgende Probleme den Statuscode 500 beim Aufruf ihrer Seite verursachen können:
- fehlerhafte .htaccess-Datei
- überlasteter Server
- neu installierte Themes oder Plug-ins
- Probleme im Script (vor allem Dateipfade und -namen, PHP-Fehler)
- Standardzeit von 30 Sekunden für das PHP-Timeout überschritten
Weitere bekannte 5xx Codes (es gibt noch mehr!) sind diese:
502 Bad Gateway: In diesem Fall konnte ein überlasteter oder ausgefallener Webserver die Anfrage nicht entgegennehmen. Vielleicht klappt es später. Doch auch Fehlercodes der Webseite, ein Plug-in des Browsers oder blockierende Firewalls könnten das Problem verursachen.
504 Gateway Timeout: Diese Fehlermeldung bedeutet, dass die Anfrage nicht schnell genug beantwortet werden konnte. Als User könnte man die Proxy-Einstellungen im eigenen Browser checken! Ein Proxy Server, der als Schutz gegen Malware aktiviert wurde, könnte das Gateway-Timeout verursachen.
510 Not Extended: Der Client hat eine unvollständige oder fehlerhafte Anfrage gestellt. Manchmal blockiert eine WAF (Web Application Firewall) den Aufruf. Der Provider der Seite könnte erklären, wie man die WAF-Regeln selbst verwalten kann.
511 Network Authentication Required: Ein zwischengeschalteter Proxy fordert den Client auf, sich zuerst zu authentifizieren. Das geschieht manchmal beim Surfen im öffentlichen WLAN oder mit öffentlichen PCs. Der Nutzer muss den Nutzerbedingungen zuerst zustimmen.
Was hat die .htaccess-Datei mit Fehlern zu tun?
Die .htaccess-Datei regelt den Verkehr zwischen Server und Client. Dabei verwaltet sie folgende Fragen:
- Wer darf auf die Seite zugreifen?
- Von welcher IP aus soll der Zugriff blockiert werden?
- Wer hat Admin-Rechte, darf also auf der Seite eine Datei verändern?
Wenn beispielsweise ein 403 Error erscheint, bedeutet das eine nicht erlaubte Anfrage. Diese Erlaubnis lässt sich in der .htaccess-Datei anpassen. Diese liegt im Root-Verzeichnis und ist über die FTP-Zugangsdaten zu erreichen. Sie ist versteckt. Daher benötigen Admins ein Programm, das versteckte NCSA-kompatible Dateien anzeigt. Die .htaccess-Datei ist ein Hypertext, der mit einem Editor geöffnet und bearbeitet werden kann. Änderungen sollten aber nur sehr vorsichtig durchgeführt werden, weil kleine Fehler im Code grosse Folgen haben können. Unter anderem sind in der .htaccess-Datei diese Programmierungen möglich:
- Passwortschutz
- 301- und 302-Weiterleitungen einrichten und bearbeiten
- IPs sperren oder freigeben
- Zugriffe auf Daten gestatten oder sperren
- Trailing Slash anfügen
- PHP-Einstellungen aufrufen
- individuelle Fehlerseiten erstellen
Admins sollten diese Möglichkeiten kennen. Besonders beim Betreiben von Webshops, Blogs mit vielen Usern und Firmenseiten, auf denen viel gearbeitet wird (etwa durch Freiberufler), werden solche Optionen regelmässig benötigt.