Ordnungsgemäße Verwendung von HTTP-Fehlercodes. 550 - Warum ist es 5xx statt 4xx?

Heute hat eine Mitarbeiterin einen 550-Fehler für eine Löschaktion verwendet, wenn der Benutzer keine Berechtigung hat, die mir anfangs unangenehm erschien, da mir dieser Fehler wie ein Client-Fehler (auch bekannt als 4xx-Fehler) aussieht und kein Server (aka 5xx).

Wenn man sich die Beschreibung ansieht, deutet dies genau darauf hin, dass sie korrekt verwendet wurde. Anstelle eines 401-Fehlers, den ich zuvor bei einigen "Problemen" verwendet habe.

Das Problem des 401-Fehlers ist: Wenn Benutzer A angemeldet ist und versucht, eine Aktion auszuführen, die 401 zurückgibt, kann dies darauf hindeuten, dass Sie sich anmelden müssen, da Sie keine gültigen Anmeldeinformationen für den Zugriff auf diese http-Ressource haben. Das Problem bei diesem Ansatz ist, dass der Server, wenn der Benutzer angemeldet ist, weiß, dass er nicht über die Berechtigung verfügt. In diesem Fall sieht er aus wie ein 550er. Für mich ist es jedoch nicht ganz richtig, dass ein 550er-Fehler verwendet werden sollte Szenario.

Die Frage ist: Was ist die richtige Verwendung (falls vorhanden) von 550-Fehlern in webbasierten Anwendungen? Ich verstehe, dass es bei der Verwendung von FTP- und SMTP-Relay verwendet wird. Wenn ein angemeldeter Benutzer eine Anforderung einer Aktion sendet, die nicht zulässig ist, welcher Fehler sollte zurückgegeben werden?

Vielen Dank!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage