【项目实战】常见的HTTP状态码(406 Not Acceptable)

一、406 Not Acceptable 介绍

406 (Not Acceptable) 的 HTTP 状态码
HTTP状态码406 ,即Not Acceptable

二、406 Not Acceptable的意思

表示客户端/浏览器与服务器之间无法达成一致意见,因为它们对于如何传输内容有分歧。
表示服务器无法满足客户端的请求,因为客户端不接受服务器返回的响应内容。
表示客户端正在尝试访问一个接口,但接口返回的内容类型不被你的客户端支持。
表示服务器无法满足客户端的特定请求。

三、406 Not Acceptable错误通常发生在以下几种情况

造成 406 Not Acceptable 错误的原因有很多,具体来说,主要有以下几种:
(1)当用户代理(通常是浏览器)指定一个可接受的内容特性,如字符集或语言等,并且服务器无法提供相应的响应时,就会返回这个状态码。
(2)比如接口返回的内容使用了特定的字符集或媒体格式,但是客户端并不支持。

3.1 MIME 类型不匹配(不支持的媒体格式)

当客户端告诉服务器它只接受某种 MIME 类型的数据时,服务器却发现没有能力生成这种类型的响应。这时,服务器就会返回 406 Not Acceptable。类似地,当服务器响应的内容包含特定的媒体格式时,如果客户端不支持该格式,服务器将返回406状态码

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Http1.1超文本传输协议中文版,目录如下: 1 引论 7 1.1 目的 7 1.2 要求 8 1.3 术语 8 1.4 总体操作 12 2 符号习惯和一般语法 13 2.1 扩充的BNF(扩充的 巴科斯-诺尔范式) 14 2.2基本规则 (basic rule) 15 3 协议参数 18 3.1 HTTP版本 18 3.2 统一资源标识符(URI) 19 3.2.1一般语法 19 3.2.2 http URL 19 3.2.3 URI 比较 19 3.3 日期/时间格式(Date/Time Formats) 20 3.3.1完整日期 (Full Date) 20 3.3.2 Delta Seconds 22 3.4 字符集 22 3.4.1丢失的字符集(Missing Charset) 22 3.5 内容编码(Content Codings) 23 3.6 传输编码 (Transfer Codings) 24 3.6.1块传输编码(Chunked Transfer Coding) 25 3.7 媒体类型(Media Type) 27 3.7.1规范化和文本缺省 27 3.7.2多部分类型(Multipart type) 28 3.8 产品标记 (product Tokens) 29 3.9 质量值(Quality Values) 29 3.10 语言标签 (Language Tags) 30 3.11 实体标签 30 3.12 范围单位(Range Units) 31 4 HTTP消息 31 4.1 消息类型(Message Types) 31 4.2 消息头 32 4.3 消息主体 33 4.4 消息的长度(Message Length) 34 4.5 常用头域(General Header Fields) 35 5 请求 35 5.1 请求行 36 5.1.1方法 36 5.1.2请求URL(Request-URI) 37 5.2请求的资源 38 5.3请求报头域 39 6 响应 40 6.1 状态行 (Status-Line) 41 6.1.1状态码与原因短语 41 6.2响应头域 44 7 实体(Entity) 45 7.1 实体报文域(Entity Header Fields) 45 7.2 实体主体(Entity Body) 46 7.2.1类型(Type) 46 7.2.2实体主体长度(Entity Length) 46 8 连接 46 8.1 持续连接(Persistent Connection)。 46 8.1.1目的 47 8.1.2总体操作 47 8.1.3代理服务器 (Proxy Servers) 48 8.1.4实际的考虑 (Practical Considerations) 48 8.2 消息传送要求(Message Transmission Requirements) 49 8.2.1持续连接与流量控制 (Persistent Connections and Flow Control) 49 8.2.2监视连接中出错状态的消息 49 8.2.3 100状态码的用途 50 8.2.4服务器过早关闭连接时客户端的行为 51 9 方法定义(Method Definitions) 52 9.1 安全和等幂(Idempotent)方法 52 9.1.1安全方法(Safe Methods) 52 9.1.2等幂方法(Idempotent Mehtods) 52 9.2 OPTIONS(选项) 53 9.3 GET 54 9.4 HEAD 54 9.5 POST 54 9.6 PUT 55 9.7 DELETE(删除) 56 9.8 TRACE 56 9.9 CONNECT(连接) 57 10.状态码定义 57 10.1 通知的 1xx 57 10.1.1 100 继续 (Continue) 57 10.1.2 101转换协议 58 10.2 成功 2xx 58 10.2.1 200 OK 58 10.2.2 201 已创建(Created) 58 10.2.3 202 接受(Accepted) 59 10.2.4 203 非权威信息(Non-Authoritative information) 59 10.2.5 204 无内容 (No Content) 59 10.2.6 205 重置内容(Reset Content) 59 10.2.7 206 部分内容(Partial Content) 60 10.3 重新定向 3xx. 60 10.3.1 300 多个选择.(Multiple Choices) 61 10.3.2 301 永久移动 (Moved Permanently) 61 10.3.3 302 发现(Found) 61 10.3.4 303 见其他(See Other) 62 10.3.5 304 没有被改变(Not Modified) 62 10.3.6 305 使用代理服务器 (User Proxy) 63 10.3.7 306没有使用的(unused) 63 10.3.8 307临时重发(Temporary Redirect) 63 10.4 客户错误 4xx 63 10.4.1 400 坏请求(Bad Request) 64 10.4.2 401 未授权的 (Unauthorized) 64 10.4.3 402 必需的支付 (Payment Required) 64 10.4.4 403 禁用 (Forbidden) 64 10.4.5 404 没有找到(Not Found) 64 10.4.6 405 不被允许的方法(Method Not Allowed) 65 10.4.7 406 不接受的 (Not Acceptable) 65 10.4.8 407 代理服务器授权所需(Proxy Authentication Required) 65 10.4.9 408 请求超时(Request Timeout) 65 10.4.10 409 冲突 (Confilict) 65 10.4.11 410 不存在(gone) 66 10.4.12 411 必需的长度 (Length Required) 66 10.4.13 412 先决条件失败 (Precondition Failed) 66 10.4.14 413 请求实体太大 66 10.4.15 414 请求URI太长(Request-URI Too Long) 67 10.4.16 415 不被支持的媒体类型(Unsupported Media Type) 67 10.4.17 416 请求范围不满足 (Requested Range Not Satisfiable) 67 10.4.18 417 期望失败 67 10.5 服务器错误 5xx (Server Error) 67 10.5.1 500 服务器内部错误 (Internal Server Error) 67 10.5.2 501 不能实现 (Not Implemented) 68 10.5.3 502 坏网关 (Bad Gateway) 68 10.5.4 503 难以获得的服务.(Service Unavailable) 68 10.5.5 504 网关超时(Gateway Timeout) 68 10.5.6 505 HTTP版本不支持 (HTTP version Not Supported) 68 11.入口验证(Access Authentication) 68 12.内容协商 (Content Negotiation) 69 12.1 服务器驱动协商(Server-driven Negotiation) 69 12.2 代理驱动协商 (Agent-driven Negotiation) 70 12.3 透明协商(Transparent Negotiation) 70 13 HTTP中的缓存 71 13.1.1缓存正确性(Cache Correctness) 72 13.1.2警告信息(Warnings) 72 13.1.3缓存控制机制 (Cache-control Mechanism) 73 13.1.4显示的用户代理警告(Explicit User Agent Warnings) 73 13.1.5规则和警告的例外情况 74 13.1.6由客户控制的行为(Client-controlled Behavior) 74 13.2 过期模型 (Expiration Model) 75 13.2.1 服务器指定模型(Server-Specified Expiratiion) 75 13.2.2 启发式过期 75 13.2.3 年龄(Age)计算 76 13.2.4 过期计算(Expiration Calculations) 78 13.2.5澄清过期值(Disambiguation Expiration Values) 79 13.2.6澄清多个响应(Disambiguating Multiple Response) 79 13.3 验证模型(Validation Model) 80 13.3.1最后修改日期 (Last-Modified Dates) 80 13.3.2 实体标签缓存验证器(Entity Tag Cache Validators) 80 13.3.3 强,弱验证器 (Weak and Strong Validators) 81 13.3.4 关于何时使用实体标签和最后修改时间的规则 83 13.3.5非验证条件(Non-validating Conditionls) 84 13.4 响应的可缓存性(Response Cacheability) 84 13.5 从缓存里构造响应 85 13.5.1End-to-end和Hop-by-hop头域 85 13.5.2不可更改的头域 86 13.5.3联合头域(Combining Headers) 87 13.5.4联合字节范围 88 13.6 缓存协商响应 88 13.7 共享和非共享缓存 (Shared and Non-Shared Caches) 89 13.8 错误和不完全的响应缓存行为 89 13.9 GET 和 HEAD 的副作用(Side Effects of GET and HEAD) 90 13.10 在更新或删除后的无效性 90 13.11 强制写通过( Write-Through Mandatory) 91 13.12 缓存替换 (Cache Replacement) 91 13.13 历史列表 (History Lists) 91 14 头域定义 92 14.1 Accept 92 14.2 Accept-Charset 94 14.3 Accept-Encoding 95 14.4 Accept-Language 96 14.5 Accept-Range 97 14.6 Age 97 14.7 Allow 98 14.8 Authorization (授权) 98 14.9 Cache-Control 99 14.9.1什么是可缓存的 101 14.9.2什么能被缓存保存 102 14.9.3对基本过期机制的改进 102 14.9.4缓存重验证和加载控制(Cache Revalidation and Reload Controls) 104 14.9.5 No-Transform缓存控制指令 106 14.9.6缓存控制扩展(Cache control Extendions) 107 14.10 Connection 107 14.11 Content-Encoding 108 14.12 Content-Language 109 14.13 Content-Length 109 14.14 Content-Location 110 14.15 Content-MD5 111 14.16 Content-Range 112 14.17 Content-Type 114 14.18 Date 114 14.18.1没有时钟的源服务器运作 115 14.19 ETag 115 14.20 Expect 116 14.21 Expires 116 14.22 From 117 14.23 Host 118 14.24 If-Match 118 14.25 If-Modified-Since 119 14.26 If-None-Match 120
超 文本传输协议(HTTP)是一种为分布式,合作式,超媒体信息系统。它是一种通用的,无状态(stateless)的协议,除了应用于超文本传输外,它也 可以应用于诸如名称服务器和分布对象管理系统之类的系统,这可以通过扩展它的请求方法,错误代码和报头[47]来实现。HTTP的一个特点是数据表现形式 是可输入的和可协商性的,这就允许系统能被建立而独立于数据传输。 目录 1 引论 1.1 目的 1.2 要求 1.3 术语 1.4 总体操作 2 符号习惯和一般语法 2.1 扩充的BNF(扩充的 巴科斯-诺尔范式) 2.2基本规则 (basic rule) 3 协议参数 3.1 HTTP版本 3.2 统一资源标识符(URI) 3.2.1一般语法 3.2.2 http URL 3.2.3 URI 比较 3.3 日期/时间格式(Date/Time Formats) 3.3.1完整日期 (Full Date) 3.3.2 Delta Seconds 3.4 字符集 3.4.1丢失的字符集(Missing Charset) 3.5 内容编码(Content Codings) 3.6 传输编码 (Transfer Codings) 3.6.1块传输编码(Chunked Transfer Coding) 3.7 媒体类型(Media Type) 3.7.1规范化和文本缺省 (Canonicalization and Text Defaults) 3.7.2多部分类型(Multipart type) 3.8 产品标记 (product Tokens) 3.9 质量值(Quality Values) 3.10 语言标签 (Language Tags) 3.11 实体标签 (Entity Tags) 3.12 范围单位(Range Units) 4 HTTP消息 4.1 消息类型(Message Types) 4.2 消息头 (Message Headers) 4.3 消息主体 (Message Body) 4.4 消息的长度(Message Length) 4.5 常用头域(General Header Fields) 5 请求(Request) 5.1 请求行 (Request-Line) 5.1.1方法 (Method) 5.1.2请求URL(Request-URI) 5.2请求资源 (The Resource Identified by a Request) 5.3请求报头域 (Request Header Fields) 6 响应 (Response) 6.1 状态行 (Status-Line) 6.1.1状态码与原因短语 (Status Code and Reason Phrase) 7 实体(Entity) 7.1 实体报文域(Entity Header Fields) 7.2 实体主体(Entity Body) 7.2.1类型(Type) 7.2.2实体主体长度(Entity Length) 8 连接 8.1 持续连接(Persistent Connection)。 8.1.1目的 8.1.2总体操作 8.1.2.1 协商(Negotiation) 8.1.2.2 流水线(pilelining) 8.1.3代理服务器 (Proxy Servers) 8.1.4实际的考虑 (Practical Considerations) 8.2 消息传送要求(Message Transmission Requirements) 8.2.1持续连接与流量控制 (Persistent Connections and Flow Control) 8.2.2监视连接中出错状态的消息 8.2.3 100状态码的用途 8.2.4服务器过早关闭连接时客户端的行为 9 方法定义(Method Definitions) 9.1 安全和等幂(Idempotent)方法 9.1.1安全方法(Safe Methods) 9.1.2等幂方法(Idempotent Mehtods) 9.2 OPTIONS(选项) 9.3 GET 9.4 HEAD 9.5 POST 9.6 PUT 9.7 DELETE(删除) 9.8 TRACE 9.9 CONNECT(连接) 10.状态码定义 10.1 通知的 1xx 10.1.1 100 继续 (Continue) 10.1.2 101切换协议 (Switching Protocols) 10.2 成功 2xx 10.2.1 200 OK 10.2.2 201 已创建(Created) 10.2.3 202 接受(Accepted) 10.2.4 203 非权威信息(Non-Authoritative informatio
状态码406表示"不可接受",它是HTTP协议状态码中的一种,表示客户端无法解析服务端返回的内容。具体来说,当客户端发送请求时,它指定了一种或多种可接受的媒体类型(例如json、xml等),但服务端返回的内容无法匹配这些媒体类型,导致客户端无法解析返回结果,从而出现406错误。 在你提供的示例代码中,后台代码正常且有返回结果,但浏览器无法找到合适的类型来显示请求接口的返回值,进而触发了406错误。 因此,"status": 406和"error": "Not Acceptable"表示客户端无法解析服务端返回的内容,可能是因为服务端返回的媒体类型与客户端指定的不匹配所致。为了解决这个问题,你可以检查请求代码中指定的dataType是否正确,并确保服务端返回的内容与客户端期望的媒体类型一致。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Http状态码406(Not Acceptable) 错误问题解决方法](https://blog.csdn.net/weixin_37968613/article/details/83866777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [状态码406(Not Acceptable) 错误问题解决方法](https://blog.csdn.net/printf88/article/details/115689763)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

本本本添哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值