内容简介:这里记录下 HTTP 状态码 400 与 422 区别。400 写入了 HTTP/1.1 规范(RFC 2616),422 是在 WebDAV(基于Web的分布式编写和版本控制) 引入的扩展,只有当服务端支持 WebDAV 扩展时,才能选择向客户端返回 422。而一旦支持 422 意味着也应该支持该扩展定义的其他状态码。HTTP/1.1 规范能够描述足够多的情况,但仍然不够完备。
这里记录下 HTTP 状态码 400 与 422 区别。
规范
400 写入了 HTTP/1.1 规范(RFC 2616),422 是在 WebDAV(基于Web的分布式编写和版本控制) 引入的扩展,只有当服务端支持 WebDAV 扩展时,才能选择向客户端返回 422。而一旦支持 422 意味着也应该支持该扩展定义的其他状态码。
区别
HTTP/1.1 规范能够描述足够多的情况,但仍然不够完备。
400 主要是明显的客户端错误以至于服务端不能理解请求从而导致无法处理,包括请求语法格式错误,请求实体过大、欺骗性路由等。
422 则表现为请求格式错误,但出现了 语义 错误,以至于服务端无法响应。可以理解为服务端能理解请求资源类型 content-type,否则应该返回 415(Unsupported Media Type),也能理解请求实体内容,否则应该返回 400(Bad Request)。
Case
通过访问 https://source.unsplash.com/random/640x320
我们能获取指定尺寸的随机图片,当指定宽度或高度为 0 时,服务端返回了 422,可以理解为高度或宽度为0的图片在“语义”上不构成一个平面图形。
结论
如果服务端支持 WebDAV 扩展,可以在某些场合使用 422 代替 400,否则使用 400 也是没问题的。
参考
以上所述就是小编给大家介绍的《HTTP 状态吗 400 VS 422》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- javascript – 有可能使用angularJs将状态从状态传递到状态吗?
- 前端状态管理与有限状态机
- 如何可视化需求状态和团队状态?
- 给 DSL 开个脑洞:无状态的状态机
- 基于有限状态机的广告状态管理方案及实现
- 基于有限状态机的广告状态管理方案及实现
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。