今天,当用户没有权限时,一位同事在删除操作上使用了 550 错误,这起初对我来说很糟糕,因为据我所知,这种错误对我来说看起来像是客户端(又名 4xx)错误而不是服务器(又名 5xx)。
查看描述时,它准确地表明它被正确使用。而不是 401 错误,我之前使用过一些“问题”。
401 错误的问题是:如果用户 A 已登录,并尝试执行返回 401 的操作,它可能会建议您必须“登录”,因为您没有有效的凭据来访问该 http 资源。这种方法的问题是,如果用户已登录,服务器知道他没有权限,在这种情况下,看起来像 550 更合适,但在我看来,应该在此使用 550 错误设想。
问题是:在基于 Web 的应用程序中,550 错误的正确用途(如果有的话)是什么?我了解它用于 FTP 和 SMTP 中继使用。如果某个登录用户发送了一个不允许的操作请求,应该返回哪个错误?
谢谢!