Was du über den HTTP-Status-Code wissen solltest

Web Developer & DesignerKategorie
7 min lesen
Wolf-Dieter Fiege

Beim Aufruf einer Website sendet dein Webbrowser (Client) eine HTTP-Anfrage an den Server, auf dem die Seite gehostet ist. Dieser antwortet über das Hypertext-Transfer-Protokoll (HTTP) auf den Request (Anfrage). Der HTTP-Status-Code steht in der ersten Zeile der Response (Antwort). Lerne die wichtigsten HTTP-Status-Codes kennen!

Was ist ein HTTP-Status-Code?

Mit dem Code teilt der Server dem Client in seiner Antwort mit, ob die Anfrage erfolgreich ist oder ein Fehler vorliegt. Du siehst diesen in der Regel nur bei einem Fehler, zum Beispiel den 404-Fehlercode (Not Found) bei einer nicht gefundenen Seite.

Tipp: Landen Besucher auf einer 404-Fehlerseite, suchen sie schnell auf einer anderen Website nach den gesuchten Informationen. Gestalte die Fehlerseite daher individuell und mit internen Links. Mit einer Erweiterung wie 404page kreierst du eine interessante 404-Seite für deine WordPress-Website.

Warum sind HTTP-Status-Codes für dein SEO von Bedeutung?

Bei der Suchmaschinenoptimierung kommt es nicht nur auf die richtigen Keywords an – auch die technische Optimierung deiner Webseite spielt hierbei eine wesentliche Rolle. SEO-Experten raten beispielsweise dazu, 301-Weiterleitungen (Moved Permanently) anstelle von 302-Weiterleitungen (Moved Temporarily) zu verwenden.

Fünf Klassen der HTTP-Status-Codes

Die Codes bestehen aus drei Ziffern, die erste Ziffer weist die Klassenzugehörigkeit zu. In den RFC (Requests for Comments) sind die HTTP-Status-Codes detailliert aufgeführt. Manche HTTP-Status-Codes gehören dem Netzwerkprotokoll WebDAV an. Die Tabelle zeigt die fünf Klassen in der Übersicht.

CodeKlasseInfo
1xxStatusinformationDer Server teilt dem Client mit, dass die Anfrage in Bearbeitung ist und noch andauert.
2xxErfolgDer Server hat die Anfrage vom Client empfangen und verarbeitet. Meist erfolgt die Zustellung einer 2xx-Meldung zusammen mit den angeforderten Daten.
3xxUmleitung/WeiterleitungDer Server hat die Anfrage empfangen, für die Bearbeitung muss der Client jedoch weitere Schritte ausführen.
4xxFehler beim ClientDer Server kann die erhaltene Anfrage nicht ausführen, meist weil die Anfrage des Clients einen Fehler hat. Beispiel: Der Client ruft eine ungültige URL auf.
5xxFehler beim ServerDer Server teilt einen eigenen Fehler mit. Die vom Client gestellte Anfrage kann nicht ausgeführt werden.

Beim Surfen mit dem Internetbrowser bekommen Anwender die meisten HTTP-Status-Codes gar nicht zu sehen. Ausnahmen sind die 4xx- und 5xx-Fehlercodes, für die der Webbrowser in der Regel eine Fehlerseite anzeigt.

Übersicht wichtiger HTTP-Status-Codes

Es gibt mehr als xy-Status-Codes, die folgenden zählen zu den wichtigsten und häufigsten:

Status

  • 100 – Fortfahren: Die Anfrage des Clients ist akzeptiert, aber noch nicht bearbeitet. Der Server erwartet vom Client weitere Anfragen.
  • 101 – Wechsel des Protokolls: Der Server bestätigt einen Wechsel des Protokolls (Switching Protocols), zum Beispiel von HTTP auf ein anderes Protokoll.
  • 102 – In Bearbeitung: Der Code teilt dem Client bei zeitintensiven Anfragen mit, dass die Anfrage in Bearbeitung ist. Er dient der Vermeidung von Timeouts.

Erfolg

  • 200 – Status OK: Die Client-Anfrage war erfolgreich, der Server überträgt die Daten.
  • 204 – kein Inhalt enthalten: Die Client-Anfrage war erfolgreich, es liegen allerdings keine Inhalte vor (No Content).
  • 207 – Multi-Status (WebDAV): Es liegen möglicherweise mehrere Antworten für verschiedene Vorgänge vor. Im XML-Text findest du alle zugehörigen Codes.
  • 208 – bereits aufgezählt (WebDAV): Es wurde bereits eine HTTP-Antwort in Bezug auf eine bestimmte Ressource herausgegeben (Already reported).

Weiterleiten/Umleiten

  • 300 – mehrere Auswahlmöglichkeiten: Für die angeforderte Ressource besteht Auswahl zwischen mehreren Optionen (Multiple Choices), da die Anfrage nicht eindeutig ist.
  • 301 – permanente Weiterleitung: Für die angeforderte Ressource – d. h. die vom Client aufgerufene URL – ist eine permanente Weiterleitung (Moved Permanently) hinterlegt. Dem Browser wird die neue URL mitgeteilt, die er sogleich aufruft. Du wirst automatisch weitergeleitet.
  • 302 – vorübergehende Weiterleitung: Die Anfrage wird temporär weitergeleitet, der Browser ruft die Daten automatisch ab und zeigt diese an.
  • 305 – verwende Proxy: Der Client wird dazu aufgefordert, die Ressource über einen Proxy aufzurufen (Use Proxy).
  • 307 – vorübergehende Weiterleitung: Die ursprüngliche URL existiert noch, die Webseite ist aber gerade unter einer anderen URL erreichbar und es erfolgt daher eine vorübergehende Weiterleitung (Temporary Redirect). Anders als beim Code 302 hat der Client keine Berechtigung, die HTTP-Anforderungsmethode zu ändern.
  • 308 – dauerhafte Weiterleitung: Die Weiterleitung ist dauerhaft (Permanent Redirect) eingestellt, da es sich um einen permanenten Umzug der Domain / URL handelt. Im Gegensatz zum Code 301 muss die Request-Methode hier identisch bleiben.

Client-Fehler

  • 400 – ungültige Anfrage: Die Client-Anfrage enthält einen Fehler (Bad Request), der Server kann diese aufgrund fehlerhafter Syntax nicht bearbeiten.
  • 401 – unautorisierte Anfrage: Eine Authentifizierung ist erforderlich.
  • 402 – Bezahlung erforderlich: Der HTTP-Status-Code Payment Required ist für die zukünftige Verwendung reserviert.
  • 403 – Zugang verboten: Der Server informiert den Client über ein dauerhaftes Zugriffsverbot (Forbidden), die Authentifizierung wird nicht anerkannt.
  • 404 – nicht gefunden: Die Fehlermeldung Not Found erfolgt, wenn der Server die angeforderte Ressource nicht finden kann. Der Fall tritt zum Beispiel ein, wenn du eine URL aufrufst, die nicht existiert. Website-Betreiber sollten 404-Fehler abfangen und statt einer leeren Fehlerseite alternative Informationen anzeigen.
  • 405 – Methode nicht gültig: Es liegt eine ungültige HTTP-Methode vor (Method Not Allowed).
  • 406 – nicht akzeptiert: Der Server kann keine Antwort erzeugen, die der zulässigen Form entspricht (Not Acceptable).
  • 408 – Zeit abgelaufen: Der Client hat die Anfrage nicht in der Zeit beendet, die der Server vorgab (Request Timeout). Du siehst diesen Fehler eventuell beim Upload großer Dateien.
  • 414 – Anfrage-URL zu lang: Die URL, mit der der Client auf eine Webseite zugreifen möchte, ist zu groß bzw. weist zu viele Bytes auf.
  • 415 – Medien-Typ nicht unterstützt: Der vom Client angefragte Medientyp wird nicht unterstützt (Unsupported Media Type).
  • 417 – Erwartung nicht erfüllt: Der Server kann die Erwartung, die im Expect-Feld eines Request-Headers angegeben ist, nicht erfüllen (Expectation Failed).
  • 418 – I’m a Teapot: So antwortet der Webserver auf die Anfrage, einen Kaffee mit einer Teekanne zu brühen. Dabei handelt es sich um einen Aprilscherz, der allerdings in der Praxis keine Anwendung findet.
  • 424 – Abhängigkeit fehlgeschlagen: Die Anfrage konnte nicht durchgeführt werden, da sie von einer anderen, erfolgreich abgeschlossenen Anfrage abhängt (Failed Dependency).
  • 429 – zu viele Anfragen: Der Benutzer hat innerhalb eines bestimmten Zeitraums zu viele Anfragen gestellt (Too Many Requests).
  • 451 – aus rechtlichen Gründen gesperrt: Die angeforderte Ressource ist aufgrund gesetzlicher Regelungen nicht verfügbar (Unavailable For Legal Reasons).

Server-Fehler

  • 500 – interner Serverfehler: Der Server kann die Anfrage aufgrund eines internen Fehlers (Internal Server Error) nicht ausführen.
  • 501 – nicht implementiert: Der Server hat nicht die nötige Funktionalität. Häufig ist eine nicht unterstützte HTTP-Methode die Ursache (Not Implemented).
  • 502 – Bad Gateway: Der Server kann seine Funktion als Gateway nicht erfüllen, weil ein Fehler aufgetreten ist.
  • 503 – Service nicht erreichbar: Der Server ist nicht verfügbar (Service Unavailable), dieser Fall tritt bei Überlastung oder Wartungsarbeiten ein.
  • 504 – Gateway Timeout: Aufgrund einer Zeitüberschreitung kann der Proxy die Anfrage nicht bearbeiten.
  • 505 – HTTP-Version Not Supported: Der Webserver unterstützt die verwendete HTTP-Version nicht bzw. lehnt diese ab.
  • 506 – Variant Also Negotiates: Es liegt ein interner Konfigurationsfehler in Bezug auf die Content Negotiation (Inhaltsvereinbarung) vor, dadurch entsteht eine Endlosschleife.
  • 507 – unzureichender Speicher: Es fehlt dem Webserver an Speicherplatz (Insufficient Storage), um die Anfrage auszuführen.
  • 508 – Endlosschleife: Die Anfrage führt in eine Endlosschleife (Loop detected) und wird daher nicht bearbeitet.
  • 511 – Netzwerk-Autorisation notwendig: Vor dem Zugriff zum Netzwerk muss sich der Client erst authentifizieren (Network Authentication Required).

Wo kann ich den Status-Code sehen?

Was du über den HTTP Status Code wissen solltest_godaddy-http-status-codes
HTTP-Status-Codes beim Aufruf von http://de.godaddy.com - Status-Code 200 steht für erfolgreiche Anfragen.

Die Browser integrieren Tools für die Website-Analyse. Klicke in Firefox mit der rechten Maustaste auf den Seiteninhalt und im Kontextmenü auf „Element untersuchen“. Das Analysefenster öffnet sich unten, klicke hier auf den Reiter „Netzwerkanalyse“. Du siehst eine Auflistung der Server-Anfragen und in der ersten Zeile den Status.

Was du über den HTTP-Status-Code wissen solltest - Zusammenfassung

HTTP-Status-Codes stehen bei der Antwort des Webservers in der ersten Zeile. Sie informieren über erfolgreiche Client-Anfragen, über Fehler und Weiterleitungen. Der Webbrowser wertet die Informationen aus und verhält sich entsprechend. Anwender bekommen die Codes meist nicht zu sehen.

Wenn du eine eigene Webseite betreibst, ist es sinnvoll, sich mit den HTTP-Status-Codes und Fehlermeldungen etwas näher zu beschäftigen – um sicherzustellen, dass deine Seite reibungslos funktioniert und für Besucher erreichbar ist. Auch SEO-Experten sollten die wichtigsten HTTP-Status-Codes kennen, da sie bei der Suchmaschinenoptimierung hin und wieder auftreten.

Bildnachweis: Unsplash