Webhosting und ServerRatgeber
HTTP-Statuscodes von 200 bis 503: was der Server antwortet
Ein HTTP-Statuscode ist die dreistellige Zahl, mit der ein Webserver jede Anfrage beantwortet. Die erste Ziffer nennt die Klasse: 2xx heißt Erfolg, 3xx Weiterleitung, 4xx Fehler in der Anfrage und 5xx Fehler am Server. Die wichtigsten Codes sind 200, 301, 404, 410 und 503.

Jede Antwort eines Webservers beginnt mit einer dreistelligen Zahl, dem Statuscode. Er sagt, ob die Anfrage geklappt hat, ob der Inhalt woanders liegt oder ob etwas schiefgegangen ist. Gültig sind nur Werte von 100 bis 599. Die erste Ziffer legt die Klasse fest, die beiden anderen haben keine ordnende Bedeutung [1]. Im Browser siehst du den Code meist nicht, weil nur die Seite angezeigt wird. Suchmaschinen, Zwischenspeicher, CDNs und Überwachungsdienste lesen ihn aber bei jeder Antwort mit und richten sich danach.
Die fünf Klassen
Die Regeln für HTTP stehen seit Juni 2022 in RFC 9110. Dort sind die fünf Klassen so beschrieben [1]:
| Klasse | Bedeutung | Beispiele |
|---|---|---|
| 1xx | Information: Die Anfrage ist angekommen, die Verarbeitung läuft weiter. | 100, 101 |
| 2xx | Erfolg: Die Anfrage wurde empfangen, verstanden und angenommen. | 200, 204, 206 |
| 3xx | Umleitung: Der Client muss noch etwas tun, meist eine andere Adresse aufrufen. | 301, 302, 304, 308 |
| 4xx | Fehler des Clients: Die Anfrage ist fehlerhaft oder lässt sich nicht erfüllen. | 400, 403, 404, 410 |
| 5xx | Fehler des Servers: Der Server konnte eine scheinbar gültige Anfrage nicht ausführen. | 500, 502, 503, 504 |
Ein Client muss nicht jeden Code kennen, wohl aber jede Klasse. Einen unbekannten Code behandelt er wie den Code mit den Endziffern 00 seiner Klasse. RFC 9110 nennt als Beispiel 471: Der Client erkennt an der 4, dass mit seiner Anfrage etwas nicht stimmte, und verfährt wie bei 400. Werte außerhalb von 100 bis 599 sind ungültig und sollen wie ein Serverfehler behandelt werden [1].
2xx: die Anfrage hat geklappt
200 OK ist der Normalfall. Was im Inhalt steht, hängt von der Methode ab: Bei GET ist es die angefragte Seite, bei POST das Ergebnis der Aktion, etwa einer Formularübermittlung [1]. 204 No Content meldet Erfolg ohne Inhalt, das nutzen zum Beispiel Schnittstellen nach dem Speichern. 206 Partial Content liefert nur einen Teil einer Datei aus. Das passiert, wenn ein Client mit einer Bereichsanfrage nur einen Teil einer Datei anfordert [1].
Ein 200 heißt nicht automatisch, dass Google die Seite aufnimmt. Sieht eine Seite trotz 200 wie eine Fehlerseite aus, etwa leer oder mit dem Text "Seite nicht gefunden", meldet die Search Console sie als Soft 404 [4]. Fehlerseiten sollten deshalb auch den passenden Fehlercode senden.
3xx: Weiterleitungen und Zwischenspeicher
Die meisten 3xx-Codes schicken den Browser an eine neue Adresse, die im Kopffeld Location steht. Sie unterscheiden sich in zwei Punkten: ob der Umzug dauerhaft ist und ob die Methode der Anfrage erhalten bleibt [1].

| Code | Name | dauerhaft | Methode bleibt |
|---|---|---|---|
| 301 | Moved Permanently | ja | nicht sicher, POST darf zu GET werden |
| 302 | Found | nein | nicht sicher, POST darf zu GET werden |
| 303 | See Other | nein | nein, Folgeabruf mit GET |
| 307 | Temporary Redirect | nein | ja, Pflicht |
| 308 | Permanent Redirect | ja | ja |
Dass 301 und 302 eine POST-Anfrage in eine GET-Anfrage verwandeln dürfen, hat laut RFC 9110 historische Gründe [1]. Wer das vermeiden will, nimmt 308 statt 301 oder 307 statt 302. RFC 9110 merkt an, dass 308 erst seit Juni 2014 existiert und deshalb nicht überall erkannt wird [1].
304 Not Modified ist keine Weiterleitung auf eine andere Adresse. Der Server antwortet so auf eine bedingte Anfrage, wenn sich die Datei seit dem letzten Abruf nicht geändert hat. Der Browser nimmt dann seine gespeicherte Kopie, und der Server muss die Datei nicht erneut senden [1].
Google folgt standardmäßig bis zu zehn Weiterleitungen hintereinander. 301 und 308 wertet Google als starkes Signal, dass die neue Adresse in den Index soll, 302 und 307 als schwaches Signal [4]. Was das für Rankings bei einem Umzug bedeutet, steht auf Weiterleitungen und SEO: 301, 302 und 410. Wie du Weiterleitungen auf einem Apache-Server einträgst, zeigt die Seite Die .htaccess-Datei.
4xx: Fehler in der Anfrage
Bei einem 4xx-Code liegt der Fehler aus Sicht des Servers beim Client. Der Server soll dazu eine Erklärung mitschicken und sagen, ob der Zustand vorübergehend oder dauerhaft ist [1]. Die häufigsten Codes:

- 400 Bad Request: Die Anfrage ist kaputt, zum Beispiel weil die Syntax nicht stimmt.
- 401 Unauthorized: Es fehlen gültige Zugangsdaten. Der Server muss dazu im Kopffeld WWW-Authenticate sagen, wie man sich anmeldet. Das siehst du etwa bei einem passwortgeschützten Verzeichnis [1].
- 403 Forbidden: Der Server hat die Anfrage verstanden, verweigert sie aber. Will er gar nicht verraten, dass es die Adresse gibt, darf er stattdessen 404 senden [1].
- 404 Not Found: Unter der Adresse liegt nichts. Der Code sagt nichts darüber, ob das so bleibt [1].
- 405 Method Not Allowed: Die Adresse kennt die Methode nicht, etwa POST auf eine reine Leseseite. Der Server muss im Kopffeld Allow angeben, welche Methoden gehen [1].
- 410 Gone: Der Inhalt ist absichtlich und wahrscheinlich dauerhaft weg [1].
- 429 Too Many Requests: Ein Client hat in kurzer Zeit zu viele Anfragen geschickt. Der Server kann mit Retry-After sagen, wann er es wieder versuchen darf [2].
- 451 Unavailable For Legal Reasons: Der Zugang ist wegen einer rechtlichen Anordnung gesperrt [3].
Zwischen 404 und 410 unterscheidet RFC 9110 so: 410 ist vorzuziehen, wenn der Betreiber weiß, dass der Inhalt nicht zurückkommt. Weiß er es nicht, gilt 404. Der Code 410 soll vor allem bei der Pflege einer Website helfen, etwa wenn eine befristete Aktion endet. Wie lange eine Adresse 410 liefert, entscheidet der Betreiber selbst [1].
Google behandelt 404, 410, 401, 403 und die übrigen 4xx-Codes gleich, mit Ausnahme von 429. Bereits aufgenommene Adressen fliegen aus dem Index, und Google ruft sie nach und nach seltener ab. Neu gefundene 404-Adressen verarbeitet Google gar nicht erst. 429 zählt bei Google als Zeichen für einen überlasteten Server [4].
5xx: Fehler am Server
Ein 5xx-Code bedeutet, dass der Server einen Fehler bemerkt hat oder die Anfrage nicht ausführen kann [1]. Für die Fehlersuche lohnt es sich, die vier häufigen Codes auseinanderzuhalten:

- 500 Internal Server Error: Ein unerwarteter Zustand hat die Antwort verhindert. Was genau schiefging, zeigt meist das Fehlerprotokoll des Servers.
- 502 Bad Gateway: Ein Server, der als Gateway oder Proxy arbeitet, hat von dem dahinterliegenden Server eine ungültige Antwort bekommen [1].
- 503 Service Unavailable: Der Server ist vorübergehend überlastet oder wird gewartet. Er kann mit Retry-After eine Wartezeit in Sekunden oder einen Zeitpunkt nennen [1].
- 504 Gateway Timeout: Der vorgeschaltete Server hat vom dahinterliegenden Server nicht rechtzeitig eine Antwort bekommen [1].
502 und 504 deuten also auf eine Kette aus mindestens zwei Servern hin, etwa ein CDN oder einen Proxy vor dem eigentlichen Webserver. Der Fehler liegt dann meist beim hinteren Glied. RFC 9110 weist außerdem darauf hin, dass ein überlasteter Server nicht verpflichtet ist, 503 zu senden. Manche Server lehnen die Verbindung dann einfach ab [1].
Google bremst das Crawlen, sobald viele Adressen 5xx oder 429 liefern. Bereits aufgenommene Seiten bleiben zunächst im Index, verschwinden aber, wenn der Fehler anhält. Liefert der Server wieder 2xx, steigt die Crawlrate nach und nach wieder an [4].
Welche Antworten Browser speichern
Einige Codes gelten als heuristisch speicherbar. Ein Zwischenspeicher darf sie wiederverwenden, auch wenn der Server keine Angaben zur Gültigkeit macht. RFC 9110 nennt 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414 und 501. Alle anderen Codes speichert ein Cache nur, wenn der Server es ausdrücklich erlaubt [1].
Für die Praxis heißt das: Eine falsch gesetzte 301-Weiterleitung kann im Browser hängen bleiben, auch wenn du sie auf dem Server schon entfernt hast. Wer eine neue Weiterleitung erst ausprobieren will, setzt sie zunächst als 302, weil dieser Code nicht auf der Liste steht, und stellt erst nach dem Test auf 301 um.
Den Statuscode selbst prüfen
Im Browser zeigen die Entwicklerwerkzeuge im Reiter Netzwerk zu jeder Anfrage den Code. Auf der Kommandozeile reicht curl mit der Option -I, dann gibt das Programm nur die Kopfzeilen der Antwort aus. Mit -L folgt curl zusätzlich den Weiterleitungen, so siehst du jede Station einer Kette. Kommt gar kein Statuscode zurück, liegt das Problem vor dem Webserver, etwa beim DNS oder beim Zertifikat. Wie du dann vorgehst, steht auf Website nicht erreichbar: Fehlersuche Schritt für Schritt. Ob Google deine Seiten wegen Fehlercodes nicht aufnimmt, klärt Seite wird nicht indexiert: Ursachen finden.
- Gesetz RFC 9110: HTTP Semantics, Abschnitte 10.2.3 und 15. IETF. Stand Juni 2022. abgerufen am 29.10.2026
- Gesetz RFC 6585: Additional HTTP Status Codes, Abschnitt 4. IETF. Stand April 2012. abgerufen am 29.10.2026
- Gesetz RFC 7725: An HTTP Status Code to Report Legal Obstacles. IETF. Stand Februar 2016. abgerufen am 29.10.2026
- Organisation How HTTP status codes, and network and DNS errors affect Google Search. Google Search Central. Stand 04.02.2026. abgerufen am 29.10.2026
Zuletzt geprüft am 29.10.2026, nächste Prüfung spätestens im Oktober 2027. Fehler entdeckt? Schreib uns.
Weitere Artikel
HostingDie .htaccess-DateiWas die .htaccess auf Apache-Servern kann: Weiterleitungen mit 301, HTTPS erzwingen, Fehlerseiten und Passwortschutz, mit …
HostingWebsite nicht erreichbarDeine Website lädt nicht? So grenzt du den Fehler ein: erst die Fehlermeldung lesen, dann DNS, Zertifikat und Server prüfen …
WerkzeugeDNS-CheckDer DNS-Check zeigt A, AAAA, MX, TXT, NS, CNAME und SOA einer Domain mit TTL.