406 Not Acceptable

HTTP 406 Not Acceptable 客户端错误响应状态码表示服务器无法生成与请求中主动内容协商头中定义的“可接受值列表”匹配的响应,并且服务器不愿意提供默认表示。

主动内容协商头包括

服务器可能会返回与请求的“接受头”不同的响应。在这种情况下,返回一个带有不匹配客户端可接受内容协商值列表的默认资源的 200 响应可能优于发送 406 响应。

如果服务器返回 406 响应,消息正文应包含该资源可用的表示列表,以便用户选择,尽管目前尚未定义标准方法。

状态

http
406 Not Acceptable

示例

内容类型不可用

以下请求假设 www.example.com/docs/doc1 支持以 application/rtf 形式返回文档

http
GET /docs/doc1 HTTP/1.1
Host: example.com
Accept: application/rtf;

在此示例中,服务器实现没有回退到默认的内容类型,如 text/htmlapplication/json,而是返回 406 错误

http
HTTP/1.1 406 Not Acceptable
Date: Wed, 26 Jun 2024 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: application/json

{
  "code": "UnsupportedType",
  "message": "Only 'text/html' or 'application/json' content types supported.",
}

规范

规范
HTTP 语义
# status.406

另见