5 ruby-on-rails http httprequest http-status-code-422
我正在浏览一个高级的、与安全相关的 Ruby on Rails 教程,它在谈论 422 个 HTTP 响应,因为“客户端提交的请求格式正确,但语义上无效”。我还看到后一部分呈现为“语义错误”或“语义错误”。
在给出的示例中,这是由于 Rails 检查真实性令牌,但我明显觉得 HTTP 响应还有很多。
我将特别感谢已建立的社区成员对“语义无效/错误/错误”含义的规范定义。使请求格式良好但语义无效的一般规则是什么?
给出(不可处理的实体)状态代码422以指示服务器理解请求,但无法处理逻辑。
它可用于指示逻辑问题(例如,您要求过滤无效的日期范围)和验证问题(例如,您没有指定标题 - 这是必需的)。在这种情况下,“语义错误”仅仅意味着“逻辑错误”。
这将其与缺乏权限(401或403更合适)之类的情况区分开来,也与400可以指示服务器无法理解请求(即,这是格式错误的请求)的通用状态区分开来。