当服务器怀疑发布的表单数据是垃圾邮件时使用的 http 状态代码

Ahe*_*eho 3 http

暂且不考虑您是否应该向向您发送垃圾邮件的人返回“有用”http 状态代码的问题,在这种情况下,适当的 http 响应代码是什么。假设您正在扫描表单中的黑名单单词,并且提交的内容中有一些。

Bar*_*mar 5

403 Forbidden似乎是最合适的代码。RFC 2616的描述说:

服务器理解该请求,但拒绝满足它。授权不会有帮助,并且不应重复请求。如果请求方法不是 HEAD 并且服务器希望公开为什么请求没有被满足,它应该在实体中描述拒绝的原因。如果服务器不希望将此信息提供给客户端,则可以使用状态代码 404(未找到)。

更好的选择可能是RFC 4918422 Unprocessable Entity中定义的新代码。

422(不可处理的实体)状态代码意味着服务器了解请求实体的内容类型(因此 415(不支持的媒体类型)状态代码是不合适的),并且请求实体的语法是正确的(因此 400(错误请求) )状态代码不合适)但无法处理所包含的指令。例如,如果 XML 请求正文包含格式正确(即语法正确)但语义错误的 XML 指令,则可能会发生此错误情况。

这篇博文推荐它用于像您这样的情况,即发布的内容存在语义问题,而不是语法问题。

  • @MattiaRasulo 成为开拓者! (3认同)