Сегодня коллега использовал ошибку 550 при удалении, когда у пользователя нет разрешения, что сначала показалось мне плохим, потому что, насколько я знаю, такая ошибка выглядит для меня как ошибка клиента (также известная как 4xx). а не сервер (он же 5xx).
Глядя на описание, он предполагает именно то, что он использовался правильно. Вместо ошибки 401, которую я использовал раньше с некоторыми «проблемами».
Проблема с ошибкой 401: если пользователь A вошел в систему и пытается выполнить действие, которое возвращает 401, он может предложить вам «войти в систему», поскольку у вас нет действительных учетных данных для доступа к этому http-ресурсу. Проблема с этим подходом заключается в том, что если пользователь вошел в систему, сервер знает, что у него нет разрешения, в этом случае это выглядит как 550, это более уместно, но мне не совсем кажется, что в этом следует использовать ошибку 550 сценарий.
Вопрос: как правильно использовать (если есть) ошибку 550 в веб-приложениях. Я понимаю, что это используется при использовании ретрансляции FTP и SMTP. Если какой-либо зарегистрированный пользователь отправляет запрос на действие, которое не разрешено, какая ошибка должна быть возвращена?
Спасибо!