Was bedeuten die HTTP-Statuscodes?
Die HTTP-Statuscodes begegnen uns unter anderem als Error 400 oder 500 mit Erweiterungen (403, 404 etc.). Es gibt noch weitaus mehr solcher Fehlercodes – die meisten laufen im Hintergrund ab, ohne dass wir sie je zu Gesicht bekommen. Was steckt wirklich dahinter?
Statuscodes haben vielschichtige Ursachen.
Das Wichtigste vorweg: Diese Codes haben nicht nur einen Grund, sondern meist mehrere. Wer sie kennt, kann gezielt nach einer Lösung suchen. Es gibt für Webserver fünf verschiedene Klassen:
- 1xx bis 3xx laufen im Hintergrund ab – du merkst sie nicht
- 4xx bis 5xx erscheinen als Fehlermeldung auf dem Bildschirm
Alle Codes geben den Status des betreffenden Problems an. Der Server schickt die Zahlenfolge zum Endgerät (Client – also PC, Tablet oder Smartphone). Die Fehler treten beim Aufruf einer URL auf. Echte Einschränkungen verursachen dabei Fehlermeldungen mit den Ziffernfolgen 4xx und 5xx.
HTTP-Statuscodes: Error 4xx
Manchmal ist der Fehler schnell behoben, manchmal braucht es einen Deep Dive (tieferes Eintauchen in das Problem). Ein 4xx-Error bedeutet grundsätzlich: „Fehler beim Client“. Besonders bekannt ist der 404-Error – und der lässt sich manchmal mit wenigen Handgriffen lösen:
- Seite neu laden – am schnellsten mit F5
- Schreibweise der URL prüfen, eventuell fehlt nur ein „/“
- Cache leeren und Cookies löschen (unter „Einstellungen“)
- Die betreffende Seite in Google suchen, um sie über eine andere URL aufzurufen
- Den Webmaster anschreiben, wenn die Seite komplett down scheint
Hilft das alles nicht, ist ein Deep Dive nötig. Möglicherweise gibt es ein Problem beim Upload – etwa wenn jemand ein zu grosses oder zu kleines Bild in ein Forum laden will. Zu umfangreiche Dateien sind hier der häufigste Stolperstein. In diesem Fall lohnt es sich, die Anweisungen der Seite genau zu lesen. Ist die eigene Datei eigentlich nicht zu gross, muss der Admin helfen – er kann zum Beispiel die Grössenbeschränkung temporär aufheben.
Der Fehlercode 404 zeigt ausserdem an, dass 301-Weiterleitungen einer gelöschten Seite fehlen oder fehlerhaft sind. Wer eine Seite aus dem Netz nimmt, wird feststellen: Google findet sie weiterhin – inklusive der meisten Unterseiten. Webmaster, die eine alte Seite nicht nur einem Relaunch unterziehen, sondern sie neu aufsetzen und dann die alte Version löschen, sollten von der alten URL aus eine 301-Weiterleitung einrichten. Fehlt diese oder ist sie fehlerhaft, erscheint Error 404. Das Problem ist gut bekannt – die meisten Admins wissen, dass sie die Weiterleitung in der .htaccess-Datei einrichten können.
Ein weiterer Statuscode der 400-Reihe, der regelmässig auftaucht, ist 429: Der Server hat zu viele Anfragen erhalten. In WordPress behebt der Admin diesen Fehler, indem er die Login-URL ändert. Ausserdem lohnt es sich, interne Links, Themes und Plug-ins zu prüfen. Professionelle Hoster kennen den Fehler und helfen weiter. Gelegentlich taucht 429 auch beim Zurücksetzen eines Passworts auf – manchmal hilft schlichtes Warten. In Google Chrome zeigt sich der Fehler besonders hartnäckig. Google hat dafür ein eigenes 429-Forum eingerichtet.
HTTP-Statuscodes: Error 500 – Probleme auf dem Server
Der HTTP-Statuscode der 500er-Reihe verweist auf einen Fehler beim Server, auf dem die Seite liegt. Als Nutzer kannst du nichts dagegen tun – ausser den Admin zu kontaktieren, wenn du einen Weg kennst, ihn ausserhalb der Seite zu erreichen. Webmaster sollten wissen, welche Probleme einen 500er auslösen können:
- fehlerhafte .htaccess-Datei
- überlasteter Server
- neu installierte Themes oder Plug-ins
- Probleme im Script (vor allem Dateipfade und -namen, PHP-Fehler)
- PHP-Timeout überschritten (Standardgrenze: 30 Sekunden)
Weitere bekannte 5xx Codes (es gibt noch mehr!) sind diese:
502 Bad Gateway: Ein überlasteter oder ausgefallener Webserver konnte die Anfrage nicht entgegennehmen. Vielleicht klappt es etwas später. Fehlercodes der Webseite, Browser-Plug-ins oder blockierende Firewalls können das Problem aber auch selbst verursachen.
504 Gateway Timeout: Die Anfrage wurde nicht schnell genug beantwortet. Als User lohnt es sich, die Proxy-Einstellungen im Browser zu checken – ein Proxy-Server, der als Malware-Schutz aktiv ist, kann das Gateway-Timeout auslösen.
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 kann erklären, wie du die WAF-Regeln selbst verwaltest.
511 Network Authentication Required: Ein zwischengeschalteter Proxy fordert den Client auf, sich zuerst zu authentifizieren. Das passiert manchmal beim Surfen im öffentlichen WLAN oder auf öffentlichen PCs – du musst zuerst den Nutzungsbedingungen zustimmen.
Was hat die .htaccess-Datei mit Fehlern zu tun?
Die .htaccess-Datei regelt den Verkehr zwischen Server und Client. Sie verwaltet folgende Fragen:
- Wer darf auf die Seite zugreifen?
- Von welcher IP aus soll der Zugriff blockiert werden?
- Wer hat Admin-Rechte, darf also Dateien auf der Seite verändern?
Erscheint beispielsweise ein 403-Error, bedeutet das eine nicht erlaubte Anfrage – diese Erlaubnis lässt sich in der .htaccess-Datei anpassen. Die Datei liegt im Root-Verzeichnis, ist über FTP-Zugangsdaten erreichbar und standardmässig versteckt. Admins brauchen ein Programm, das versteckte NCSA-kompatible Dateien anzeigt. Die .htaccess-Datei ist ein Hypertext, der sich mit einem Editor öffnen und bearbeiten lässt. Änderungen sollten aber mit Bedacht vorgenommen werden – kleine Fehler im Code können grosse Auswirkungen haben. Unter anderem sind folgende Konfigurationen 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, werden diese Optionen regelmässig gebraucht.