HTTP 400 Bad Request
Der generische Client-Fehler: Etwas am Request selbst ist falsch, und der Server verweigert das Raten.
Was HTTP 400 bedeutet
HTTP 400 Bad Request bedeutet, dass der Server den Request gelesen und als ungültig abgelehnt hat, bevor er echte Arbeit geleistet hat. Es ist der Sammelbegriff-Client-Fehler: fehlerhafte Syntax, ungültige Parameter, beschädigte Cookies oder Header, die der Server nicht verarbeiten will.
Anders als 401 oder 403 sagt eine 400 nichts über Berechtigungen aus — der Request war bereits bei Ankunft kaputt. APIs hängen oft einen JSON-Body an, der genau erklärt, welches Feld die Validierung nicht bestanden hat.
Häufige Ursachen von 400-Fehlern
- Fehlerhaftes JSON oder XML im Request-Body (überflüssige Kommas, falsche Anführungszeichen, abgeschnittener Payload).
- Fehlende oder ungültige Query-Parameter, oder Werte, die die serverseitige Validierung nicht bestehen.
- Beschädigte oder überdimensionierte Cookies — die klassische Ursache für anhaltende 400er bei großen Sites für einen einzelnen Nutzer.
- Falscher Content-Type-Header, sodass der Server den Body im falschen Formatieren parst.
- URL-Encoding-Fehler: nicht escapte Leerzeichen, Anführungszeichen oder Nicht-ASCII-Zeichen im Query-String.
So behebst du es als Nutzer
- Lade die Seite neu; bleibt die 400 bestehen, lösche die Cookies für diese Seite — beschädigte Cookies sind die häufigste Ursache.
- Prüfe die URL auf Tippfehler oder Zeichen, die beim Kopieren und Einfügen verstümmelt wurden.
- Probiere ein Inkognito-Fenster, um Erweiterungen auszuschließen, die Requests umschreiben.
So behebst du es als Entwickler
- Validiere JSON-Payloads vor dem Senden; logge den exakten Request-Body, den der Server erhalten hat.
- Gib einen Response-Body zurück, der das ungültige Feld benennt — eine nackte 400 verschwendet die Debugging-Zeit aller.
- Prüfe die Server-Limits für Header- und Cookie-Größe (z. B. nginx large_client_header_buffers).
- Nutze 422 für wohlgeformte, aber semantisch ungültige Eingaben, wenn deine API beide unterscheidet.
Beispielantwort
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"error":"validation_failed","field":"email","message":"not a valid address"}FAQ
Ist ein 400-Fehler meine Schuld als Besucher?
Meist liegt es an veralteten Cookies oder einem defekten Link, nicht an etwas, das du getan hast. Das Löschen der Cookies für die Seite behebt die meisten Fälle.
Was ist der Unterschied zwischen 400 und 422?
400 bedeutet, dass der Request nicht geparst werden konnte oder strukturell ungültig ist; 422 bedeutet, dass er einwandfrei geparst wurde, aber die semantische Validierung fehlgeschlagen ist. Viele APIs nutzen 400 für beides.
Warum bekommt ein Nutzer 400, während alle anderen keine Probleme haben?
Fast immer überdimensionierte oder beschädigte Cookies im Browser des Nutzers, die die Header-Limits des Servers überschreiten.