it-swarm.com.de

Wann kann ich auf 400 Bad Request antworten?

Laut www.w3.org sollte ein Webserver mit dem Statuscode 400 Bad Request antworten, wenn:

" Die Anfrage konnte vom Server aufgrund einer fehlerhaften Syntax nicht verstanden werden. Der Client SOLLTE die Anfrage NICHT ohne Änderungen wiederholen "

Bedeutet das, dass nur eine Anfrage gegen eine HTTP-Spezifikation verstößt?
Oder enthält es eine Anfrage, die meiner speziellen Web-App zufolge nicht funktioniert?
Wann würden Sie 400 antworten?

Wenn meine Webanwendung beispielsweise erwartet, dass eine Abfragezeichenfolge immer den Parameter "function = ..." enthält, antworten Sie mit dem Code 400 Bad Request oder 403 Forbidden? (403 bedeutet, dass "Der Server hat die Anforderung verstanden, sie jedoch abgelehnt." )

6
KajMagnus

Meine Interpretation dieses Headers ist, dass die HTTP-Spezifikation nicht ordnungsgemäß befolgt wurde und ein erforderliches Feld fehlt oder fehlerhafte Daten bereitgestellt werden. Beispielsweise fehlt ein Header oder es werden ungültige Zeichen in der Anforderung usw. verwendet.

Einige fehlerhafte Anforderungsbeispiele:

GET /images/logo.png HTTP/2 # there is no HTTP 2
POTT /images/logo.png HTTP/1.1 # POTT should be POST
Accept-Language  en-US # Missing colon after header name

Ihr Beispiel scheint eine legitime Verwendung dieses HTTP-Antwortcodes zu sein. Ich vermute jedoch, dass dies in Ihrer Bewerbung besser gehandhabt wird. Wenn dieser Parameter fehlt, können Sie eine viel schönere und mehr durch Fehlermeldung bedienen. Sie können sich auch von der Seite über den Fehler informieren lassen, damit Sie ihn bei Bedarf untersuchen können.

3
John Conde