HTTP-Statuscodes

Die vollständige Referenz der HTTP-Antwort-Statuscodes: was jeder Code bedeutet, wann Server ihn senden und wie du reagieren solltest — zum Debuggen von Requests, Dokumentieren von APIs und Prüfen von Server-Logs.

Nutze die Sprunglinks, um zwischen den Antwortklassen zu wechseln, oder öffne die ausführlichen Anleitungen für die häufigsten Codes.

Tabelle der HTTP-Antwortcodes

Code Name Bedeutung
1xx Informationell
100 Continue Der Server hat die Request-Header empfangen, und der Client sollte den Request-Body senden.
101 Switching Protocols Der Server stimmt zu, zu dem im Upgrade-Header angeforderten Protokoll zu wechseln.
102 Processing Der Server hat den vollständigen Request akzeptiert, aber noch nicht abgeschlossen (WebDAV).
103 Early Hints Vorläufige Header, meist Link-Preload-Hinweise, die vor der finalen Antwort gesendet werden.
2xx Erfolg
200 OK Der Request war erfolgreich, und die Antwort enthält die angeforderte Repräsentation.
201 Created Der Request war erfolgreich, und es wurde eine neue Ressource erstellt, meist benannt in Location.
202 Accepted Der Request wurde für eine asynchrone Verarbeitung akzeptiert, die noch nicht abgeschlossen ist.
203 Non-Authoritative Information Die Antwort wurde unterwegs von einem transformierenden Proxy verändert.
204 No Content Der Request war erfolgreich, und es gibt absichtlich keinen Response-Body.
205 Zurücksetzen Content Der Request war erfolgreich, und der Client sollte die Dokumentenansicht oder das Formular zurücksetzen.
206 Partial Content Die Antwort liefert nur den mit dem Range-Header angeforderten Byte-Bereich.
3xx Weiterleitung
300 Multiple Choices Es existieren mehrere Repräsentationen, und der Client sollte eine davon auswählen.
301 Moved Permanently Die Ressource hat eine dauerhafte neue URL, und Links sollten aktualisiert werden.
302 Found Die Ressource liegt vorübergehend unter einer anderen URL; nutze weiterhin die ursprüngliche.
303 See Other Das Ergebnis ist unter einer anderen URL verfügbar und sollte mit GET abgerufen werden.
304 Not Modified Die zwischengespeicherte Kopie ist weiterhin gültig, daher wird kein Body erneut gesendet.
307 Temporary Redirect Temporäre Weiterleitung, die die ursprüngliche HTTP-Methode und den Body beibehalten muss.
308 Permanent Redirect Dauerhafte Weiterleitung, die die ursprüngliche HTTP-Methode und den Body beibehalten muss.
4xx Client-Fehler
400 Bad Request Der Server kann den Request nicht verarbeiten, weil er fehlerhaft ist.
401 Unauthorized Gültige Authentifizierungsdaten sind erforderlich und fehlen oder sind falsch.
402 Payment Required Reservierter Status, der in der Praxis von manchen APIs für Abrechnungslimits genutzt wird.
403 Forbidden Der Server hat den Request verstanden, verweigert aber die Autorisierung.
404 Not Found Unter der angeforderten URL existiert keine Ressource.
405 Method Not Allowed Die URL existiert, unterstützt aber diese HTTP-Methode nicht.
406 Not Acceptable Keine Repräsentation entspricht den Accept-Verhandlungs-Headern.
407 Proxy Authentication Required Der Client muss sich zuerst beim Proxy authentifizieren.
408 Request Timeout Der Server hat die Verbindung geschlossen, weil der Request zu lange gebraucht hat, um einzutreffen.
409 Conflict Der Request steht im Konflikt mit dem aktuellen Zustand der Ressource, z. B. eine Bearbeitungskollision.
410 Gone Die Ressource wurde absichtlich entfernt und kommt nicht zurück.
411 Length Required Der Request muss einen Content-Length-Header enthalten.
412 Precondition Failed Ein bedingter Header wie If-Match wurde als falsch ausgewertet.
413 Content Too Large Der Request-Body überschreitet die vom Server akzeptierte Größe.
414 URI Too Long Die Request-URL ist länger, als der Server verarbeiten kann.
415 Unsupported Media Type Das Formatieren des Request-Bodys wird für diese Ressource nicht unterstützt.
416 Range Not Satisfiable Der angeforderte Byte-Bereich liegt außerhalb der Ressourcengröße.
417 Expectation Failed Der Expect-Request-Header konnte nicht erfüllt werden.
418 I'm a teapot Ein Aprilscherz-Status aus RFC 2324; manche APIs nutzen ihn als Easter Egg.
421 Misdirected Request Der Request hat einen Server erreicht, der für diese Autorität keine Antwort erzeugen kann.
422 Unprocessable Content Der Request ist wohlgeformt, aber semantisch ungültig — häufig bei der REST-Validierung.
425 Too Early Der Server weigert sich, einen Request zu verarbeiten, der wiederholt gesendet worden sein könnte (TLS Early Data).
426 Upgrade Required Der Client muss zu einem anderen, in Upgrade genannten Protokoll wechseln.
428 Precondition Required Der Server verlangt einen bedingten Request, um verlorene Updates zu verhindern.
429 Too Many Requests Der Client hat ein Rate-Limit überschritten; Retry-After gibt einen Hinweis, wann es erneut versucht werden sollte.
431 Request Header Fields Too Large Header, oft Cookies, überschreiten die Größenlimits des Servers.
451 Unavailable For Legal Reasons Der Zugriff ist aus rechtlichen Gründen blockiert, etwa durch Gerichtsbeschlüsse.
5xx Server-Fehler
500 Internal Server Error Der Server ist bei der Verarbeitung des Requests auf einen unerwarteten Fehler gestoßen.
501 Not Implemented Der Server kennt oder unterstützt die Request-Methode nicht.
502 Bad Gateway Ein Gateway oder Proxy hat eine ungültige Antwort vom Upstream-Server erhalten.
503 Service Unavailable Der Server kann vorübergehend nicht bedienen, wegen Überlastung oder Wartung.
504 Gateway Timeout Ein Gateway oder Proxy hat das Warten auf den Upstream-Server aufgegeben.
505 HTTP Version Not Supported Der Server unterstützt die verwendete HTTP-Protokollversion nicht.
506 Variant Also Negotiates Eine Fehlkonfiguration der Content-Negotiation auf dem Server.
507 Insufficient Storage Der Server kann nicht speichern, was zum Abschluss des Requests nötig ist (WebDAV).
508 Loop Detected Der Server hat während der Verarbeitung eine Endlosschleife erkannt (WebDAV).
510 Not Extended Der Request benötigt weitere Erweiterungen, die nicht mitgeliefert wurden.
511 Network Authentication Required Das Netzwerk (z. B. ein Captive Portal) verlangt zuerst eine Authentifizierung.

1xx Informationell

Informationelle Antworten bestätigen, dass der Request empfangen wurde und der Client fortfahren kann. Sie sind vorläufig: Es folgt immer ein finaler Status. Der Code, dem du in der Praxis tatsächlich begegnest, ist 103 Early Hints, mit dem Server Preload-Hinweise senden können, bevor die vollständige Antwort bereit ist.

2xx Erfolg

Erfolgsantworten bedeuten, dass der Request verstanden und akzeptiert wurde. 200 OK liefert das Ergebnis im Body, 201 Created kündigt eine neue Ressource an, und 204 No Content bestätigt Erfolg mit bewusst leerem Rückgabewert.

3xx Weiterleitung

Weiterleitungsantworten verweisen den Client woanders hin. Der entscheidende Unterschied ist die Dauerhaftigkeit — 301/308 sind dauerhaft, 302/307 temporär — und ob die HTTP-Methode beibehalten werden muss (307/308) oder zu GET wechseln darf (301/302). 304 Not Modified ist der Sonderfall, der das Browser-Caching antreibt.

4xx Client-Fehler

Client-Fehler bedeuten, dass der Request selbst abgelehnt wurde. Die alltäglichen: 400 fehlerhafter Request, 401 Authentifizierung erforderlich, 403 Zugriff verweigert, 404 nichts unter dieser URL und 429 Rate-Limit überschritten.

5xx Server-Fehler

Server-Fehler bedeuten, dass der Server bei einem Request versagt hat, der durchaus gültig gewesen sein kann. 500 ist ein Anwendungsabsturz, 502 und 504 sind Proxys, die einen defekten oder stummen Upstream melden, und 503 ist bewusste, temporäre Nichtverfügbarkeit.

So liest du einen Statuscode

Die erste Ziffer ist die Klasse: 1xx informationell, 2xx Erfolg, 3xx Weiterleitung, 4xx Client-Fehler, 5xx Server-Fehler. Ein Client, der auf einen unbekannten Code trifft, kann ihn gefahrlos wie den x00-Code seiner Klasse behandeln — so bleiben neue Codes abwärtskompatibel. Beim Debuggen lohnt sich immer ein Blick auf die Antwort-Header neben dem Code: Location erklärt Weiterleitungen, Allow erklärt 405, Retry-After erklärt 429 und 503.

Beispiele

200 OK                    — page served normally
301 Moved Permanently     — URL changed for good, follow Location
304 Not Modified          — your cached copy is still valid
404 Not Found             — nothing exists at this URL
429 Too Many Requests     — rate limit hit, wait Retry-After seconds
503 Service Unavailable   — temporary downtime or maintenance

FAQ

Was ist HTTP 404?

HTTP 404 bedeutet, dass die angeforderte Ressource unter der angegebenen URL nicht gefunden werden konnte. Die ausführliche 404-Anleitung erklärt Ursachen, Behebung und SEO-Auswirkungen.

Was ist der Unterschied zwischen 301 und 302?

Eine 301-Weiterleitung ist dauerhaft — Links und Suchmaschinen sollten auf die neue URL aktualisiert werden. Eine 302 signalisiert einen temporären Umzug, bei dem die ursprüngliche URL kanonisch bleibt.

Was bedeutet 503?

HTTP 503 bedeutet, dass der Dienst vorübergehend nicht verfügbar ist, meist wegen Wartung oder Überlastung, und der Client es nach einer Verzögerung erneut versuchen sollte.

Was ist der Unterschied zwischen 401 und 403?

401 bedeutet, dass der Server gültige Authentifizierungsdaten benötigt. 403 bedeutet, dass er weiß, wer du bist, und den Zugriff trotzdem verweigert — erneutes Anmelden hilft hier nicht.

Was ist der Unterschied zwischen 502 und 504?

Beide stammen von einem Proxy, der mit einem Upstream-Server spricht: 502 bedeutet, der Upstream hat eine ungültige Antwort zurückgeschickt, 504 bedeutet, er hat innerhalb des Timeouts gar nicht geantwortet.

Welche Statuscodes sind für SEO am wichtigsten?

200 kennzeichnet indexierbare Seiten, 301/308 übertragen Rankings bei dauerhaften Umzügen, 404/410 entfernen tote URLs und 503 schützt Rankings während Ausfallzeiten, wenn es mit Retry-After ausgeliefert wird.