HTTP 状态吗 400 VS 422

栏目: 后端 · 前端 · 发布时间: 7年前

内容简介:这里记录下 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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP程序设计

PHP程序设计

Kevin Tatroe、Rasmus Lerdorf / 邓云佳 / 中国电力出版社 / 2003-7-1 / 68.00

本书涵盖了创建一个高效PHP Web应用程序所需要的所有技术,其内容包括:PHP语言基础的详细信息,包括数据类型、变量、操作符和流控制语句。用专门章节讨论关于函数、字符串、数组和对象的基本内容。涵盖通用的PHP Web应用程序设计技术,如表单处理和验证、会话跟踪以及cookie。用和数据库无关的PEAR DB库与关系数据库(如MySQL和Oracle)进行交互的内容。介绍用PHP生成动态图像、创建一起来看看 《PHP程序设计》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具