406 不可接受

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

另请参见