HTTP-Statuscodes verstehen: Von 200 bis 500 erklärt

Jedes Mal, wenn dein Browser eine Webseite lädt oder eine App Daten von einem Server holt, antwortet dieser Server mit einer dreistelligen Zahl – dem HTTP-Statuscode. Die meisten dieser Codes bekommst du nie zu sehen, weil alles funktioniert. Doch sobald etwas schiefgeht, taucht plötzlich eine „404“ oder „500“ auf. Dieser Ratgeber erklärt, was die Codes bedeuten, wie sie strukturiert sind und welche du als Entwickler oder Website-Betreiber kennen solltest.

Die fünf Klassen auf einen Blick

HTTP-Statuscodes sind nicht zufällig vergeben, sondern nach der ersten Ziffer in fünf logische Klassen unterteilt. Schon diese erste Ziffer verrät, in welche Richtung die Antwort geht:

Diese Einteilung allein hilft beim Debugging enorm: Eine 4xx zeigt auf die Seite des Anfragenden, eine 5xx auf die Seite des Servers. Den genauen Code samt Klasse, Bedeutung und typischem Anwendungsfall liefert dir der HTTP-Statuscode-Erklärer in Klartext – einfach die Zahl eingeben und nachlesen.

Die wichtigsten Codes im Detail

200 OK

Der Standardfall für eine erfolgreiche Anfrage. Die angeforderte Ressource wird normal ausgeliefert. Diesen Code siehst du im Browser nie als Fehlermeldung, weil schlicht alles funktioniert.

301 und 302: Weiterleitungen

301 Moved Permanently bedeutet, dass eine Ressource dauerhaft umgezogen ist. Suchmaschinen übernehmen das neue Ziel und vererben das Ranking. 302 Found dagegen ist eine temporäre Weiterleitung – das Original bleibt der maßgebliche Ort. Die Unterscheidung ist für SEO entscheidend: Wer eine Seite dauerhaft umzieht, sollte unbedingt 301 verwenden.

403 Forbidden und 401 Unauthorized

Beide signalisieren fehlende Berechtigung, aber mit Unterschied: 401 heißt „du bist nicht angemeldet“ – der Server erwartet eine Authentifizierung. 403 heißt „du bist angemeldet, darfst aber trotzdem nicht“. Bei 403 hilft also kein erneuter Login, sondern nur eine andere Berechtigung.

404 Not Found

Der bekannteste Fehlercode überhaupt: Die angeforderte Ressource existiert nicht (mehr) unter dieser URL. Häufige Ursachen sind Tippfehler in der Adresse, gelöschte Seiten oder defekte interne Links. Zu viele 404-Fehler schaden der Nutzererfahrung und können sich negativ auf das Crawling durch Suchmaschinen auswirken.

500 Internal Server Error

Der Sammelcode für serverseitige Fehler. Irgendwo im Code, in der Konfiguration oder in der Datenbankanbindung ist etwas schiefgelaufen. Anders als bei 4xx-Fehlern liegt die Ursache nicht beim Anfragenden – hier muss der Betreiber in die Server-Logs schauen.

Statuscodes für API-Entwicklung

Wer eine REST-API baut, sollte Statuscodes bewusst und korrekt einsetzen, denn sie sind die wichtigste Sprache zwischen Server und Client. Ein gut gestalteter Endpunkt antwortet mit 201 Created nach erfolgreichem Anlegen, mit 204 No Content nach einem erfolgreichen Löschvorgang ohne Rückgabe, mit 400 Bad Request bei ungültigen Eingaben und mit 429 Too Many Requests, wenn ein Rate-Limit erreicht ist. Eine konsistente Code-Vergabe macht eine API für andere Entwickler vorhersehbar und leicht zu integrieren.

Statuscodes und SEO

Für Website-Betreiber sind Statuscodes mehr als ein technisches Detail. Suchmaschinen interpretieren sie direkt: 200 signalisiert eine gültige, indexierbare Seite, 301 vererbt Linkkraft an das neue Ziel, 404 entfernt Inhalte mit der Zeit aus dem Index, und 503 (Service Unavailable) sagt dem Crawler, dass ein vorübergehender Wartungszustand vorliegt und er später wiederkommen soll. Wer eine Website umzieht oder umstrukturiert, sollte seine Weiterleitungen sauber als 301 umsetzen – dabei hilft der htaccess Redirect Generator.

Statuscodes sind das Rückgrat jeder Kommunikation im Web. Wer ihre fünf Klassen und die wichtigsten Einzelcodes kennt, debuggt schneller und baut robustere Anwendungen. Für jeden Code, den du nicht auswendig weißt, liefert der HTTP-Statuscode-Erklärer die Erklärung. Weitere Entwickler-Helfer findest du in der Webtools-Übersicht.

Häufige Fragen

Was ist der Unterschied zwischen 301 und 302?

301 ist eine dauerhafte Weiterleitung – Suchmaschinen übernehmen das neue Ziel und das Ranking. 302 ist temporär; das Original bleibt die maßgebliche Adresse. Für endgültige Umzüge solltest du immer 301 verwenden.

Bedeutet ein 404 immer einen Fehler auf meiner Seite?

Nicht zwingend. Ein 404 entsteht oft durch einen vertippten Link von außen oder einen veralteten Lesezeichen-Eintrag. Problematisch wird es erst, wenn eigene interne Links ins Leere führen – diese solltest du aufspüren und korrigieren.

Wie unterscheide ich Client- von Server-Fehlern?

Über die erste Ziffer: 4xx sind Client-Fehler (die Anfrage war fehlerhaft), 5xx sind Server-Fehler (der Server konnte eine gültige Anfrage nicht bearbeiten). Diese Unterscheidung zeigt dir sofort, auf welcher Seite du nach der Ursache suchen musst.