422 Unprocessable Content 表示服务器理解请求的内容类型,请求语法也正确,但无法处理其中包含的指令。例如,JSON 请求体可以正常解析,但电子邮件字段无效,或者某个必填值超出了范围。
这个状态码由 WebDAV(RFC 4918)以“Unprocessable Entity”之名引入,RFC 9110 将其以新名称纳入核心 HTTP。许多 Web 框架和 API(例如 Ruby on Rails 和 Laravel)用它表示验证错误,并在响应体中返回各字段的错误信息。
400 和 422 的使用要保持一致:无法解析的请求用 400,可以解析但未通过验证的请求用 422。
响应示例
HTTP
HTTP/1.1 422 Unprocessable Content
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 77
{"message":"Validation failed","errors":[{"field":"email","code":"invalid"}]} SEO 与重定向检测
422 是用于 API 和表单处理的状态码。爬虫使用 GET,不应遇到它;对 GET 返回 422 的页面会被当作 4xx 错误处理,不会被编入索引。
常见原因与使用场景
- 表单提交或 API 调用未通过验证:缺少字段、电子邮件地址无效,或用户名已被占用。
- 文档是有效的 JSON,但不符合 API 的数据结构(schema)。
- WebDAV
PROPPATCH或LOCK的请求体是格式正确的 XML,但语义有误。