Właściwe użycie kodów błędów HTTP. 550 - Dlaczego to 5xx zamiast 4xx?

Dzisiaj współpracownik użył błędu 550 w akcji usuwania, gdy użytkownik nie ma uprawnień, które początkowo wyglądały mi źle, ponieważ, jak wiem, ten rodzaj błędu wygląda dla mnie jak błąd klienta (zwany też 4xx) a nie serwer (aka 5xx).

Patrząc na opis sugeruje dokładnie, że został użyty poprawnie. Zamiast błędu 401, którego wcześniej używałem z pewnymi „problemami”.

Problem z błędem 401 jest następujący: Jeśli użytkownik A jest zalogowany i spróbuje wykonać akcję zwracającą 401, może zasugerować, że musisz się „zalogować”, ponieważ nie masz ważnych poświadczeń dostępu do tego zasobu http. Problem z tym podejściem polega na tym, że jeśli użytkownik jest zalogowany, serwer wie, że nie ma uprawnień, w tym przypadku wygląda na 550, ale jest bardziej odpowiedni, ale nie wygląda mi na to, że w tym przypadku powinien zostać użyty błąd 550 scenariusz.

Pytanie brzmi: Jakie jest właściwe użycie (jeśli w ogóle) błędu 550 w aplikacjach internetowych. Rozumiem, że jest on używany w FTP i SMTP. Jeśli jakiś użytkownik jest zalogowany, wysyła żądanie niedozwolonej akcji, który powinien zostać zwrócony?

Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion