首页编程java编程java请求406是什么错误 网站故障排查从错误码406说起

java请求406是什么错误 网站故障排查从错误码406说起

编程之家2023-10-1394次浏览

很多朋友对于java请求406是什么错误和网站故障排查从错误码406说起不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

java请求406是什么错误 网站故障排查从错误码406说起

http error 406是什么错误

HTTP 406错误指无法接受(Not acceptable)错误。

如果 Web服务器检测发现它想反馈的数据不能为客户端所接受,它则反馈一个含有 406错误代码的报头。客户端可以向 Web服务器表明它将接受的服务器反馈数据的特征。这是通过使用以下类型'接受头'来完成的:

接受:为客户端所接受的 MIME(多功能互联网邮件扩充服务)类型。例如,浏览器可能只接受它知道如何处理的反馈数据类型(HTML文件, GIF文件等)。

java请求406是什么错误 网站故障排查从错误码406说起

接受-字符集:为客户端所接受的字符集。接受-编码:为客户端所接受的数据编码,如客户端可理解的文件格式。接受-语言:为客户端所接受的自然语言(英语,德语等)。接受-范围:客户端是否接受来自网络资源的字节范围,即该资源的一部分。

扩展资料:

406错误相关解决方法:

java请求406是什么错误 网站故障排查从错误码406说起

该错误在浏览器上很少发生,因为大多数浏览器会接受您的 Web服务器反馈的任何数据。如果客户端不是一个浏览器,那么就只能通过检查客户端系统所产生的接受头和 Web服务器反馈的数据流来研究该问题。如果无法接触这些系统的源程序,只能将该问题提交给开发这些系统的公司的技术。

相关错误:

405:用来访问本页面的 HTTP谓词不被允许(方法不被允许)406:客户端浏览器不接受所请求页面的 MIME类型。407:要求进行代理身份验证。412:前提条件失败。413:请求实体太大。414:请求 URI太长。

参考资料来源:百度百科-http错误

java 程序运行常报的错误

HTTP

1xx-信息提示

这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx响应。? 100-继续。

? 101-切换协议。

2xx-成功

这类状态代码表明服务器成功地接受了客户端请求。

? 200-确定。客户端请求已成功。

? 201-已创建。

? 202-已接受。

? 203-非权威性信息。

? 204-无内容。

? 205-重置内容。

? 206-部分内容。

3xx-重定向

客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。? 302-对象已移动。

? 304-未修改。

? 307-临时重定向。

4xx-客户端错误

发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。? 400-错误的请求。

? 401-访问被拒绝。IIS定义了许多不同的 401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS日志中显示:? 401.1-登录失败。

? 401.2-服务器配置导致登录失败。

? 401.3-由于 ACL对资源的限制而未获得授权。

? 401.4-筛选器授权失败。

? 401.5- ISAPI/CGI应用程序授权失败。

? 401.7–访问被 Web服务器上的 URL授权策略拒绝。这个错误代码为 IIS 6.0所专用。

? 403-禁止访问:IIS定义了许多不同的 403错误,它们指明更为具体的错误原因:? 403.1-执行访问被禁止。

? 403.2-读访问被禁止。

? 403.3-写访问被禁止。

? 403.4-要求 SSL。

? 403.5-要求 SSL 128。

? 403.6- IP地址被拒绝。

? 403.7-要求客户端证书。

? 403.8-站点访问被拒绝。

? 403.9-用户数过多。

? 403.10-配置无效。

? 403.11-密码更改。

? 403.12-拒绝访问映射表。

? 403.13-客户端证书被吊销。

? 403.14-拒绝目录列表。

? 403.15-超出客户端访问许可。

? 403.16-客户端证书不受信任或无效。

? 403.17-客户端证书已过期或尚未生效。

? 403.18-在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0所专用。

? 403.19-不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0所专用。

? 403.20- Passport登录失败。这个错误代码为 IIS 6.0所专用。

? 404-未找到。? 404.0-(无)–没有找到文件或目录。

? 404.1-无法在所请求的端口上访问 Web站点。

? 404.2- Web服务扩展锁定策略阻止本请求。

? 404.3- MIME映射策略阻止本请求。

? 405-用来访问本页面的 HTTP谓词不被允许(方法不被允许)

? 406-客户端浏览器不接受所请求页面的 MIME类型。

? 407-要求进行代理身份验证。

? 412-前提条件失败。

? 413–请求实体太大。

? 414-请求 URI太长。

? 415–不支持的媒体类型。

? 416–所请求的范围无法满足。

? 417–执行失败。

? 423–锁定的错误。

5xx-服务器错误

服务器由于遇到错误而不能完成该请求。? 500-内部服务器错误。? 500.12-应用程序正忙于在 Web服务器上重新启动。

? 500.13- Web服务器太忙。

? 500.15-不允许直接请求 Global.asa。

? 500.16– UNC授权凭据不正确。这个错误代码为 IIS 6.0所专用。

? 500.18– URL授权存储不能打开。这个错误代码为 IIS 6.0所专用。

? 500.100-内部 ASP错误。

? 501-页眉值指定了未实现的配置。

? 502- Web服务器用作网关或代理服务器时收到了无效响应。? 502.1- CGI应用程序超时。

? 502.2- CGI应用程序出错。application.

? 503-服务不可用。这个错误代码为 IIS 6.0所专用。

? 504-网关超时。

? 505- HTTP版本不受支持。

网站故障排查从错误码406说起

网站故障排查怎么做?我们首先判断,从故障现象来看,应该和后端无关,而是与前端有关,所以我们迅速查看了前端的日志,从日志来看,主要是用于判断客户端的地理位置接口持续出现错误,出现大量的HTTPStatusCode406(24小时之内出现了1w多条)。

按照HTTPStatusCode的规范,4开头的错误码和客户端有关,考虑到这个故障只出现在一位老师那里,初步判断406就是问题的根源。

随着掌握信息的增加,分析的加深,我们迅速解决了那位外教的故障,不幸的是,确认它和406没有关系。

但是,我们并不能就此打住。毕竟正常情况下响应的HTTPStatusCode应该是200,那么大量的406到底是什么呢?为什么我们都无法复现?它们是如何引发的?如此大量的爆发应当引起用户的反馈了?为什么线上的反馈这么平静呢?

排查过程

为了保障性能,我们的Node端并没有详细记录每个请求,所以单纯看406的日志并不能知道具体的原因。为了排查这个问题,我们紧急发布了在线补丁,具体记录每个请求的详细信息,然后在日志平台中看到了下面的请求。

于是,我们在Postman中模拟了错误的请求,果然,我们复现了406错误,所以可以确认问题是Accept字段导致。

406NotAcceptable状态码表示客户端错误,表示请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。译自HTTP协议规范RFC文档

我们上网查阅资料并也跟后端同事讨论了406的错误码,得知,如果请求头的Accept不符合事先约定的契约,就会返回406错误。报错的是API服务,返回的是application/json格式的数据,然而请求中的Accept说明它并不支持这种格式,所以会报出406错误。

我们仔细检查了常见浏览器发送的请求,发现全部都包含Accept:*/*;。看来,这些引发406的请求并不是普通用户发出来的。那么,究竟是谁发出了这些请求呢?

难道是CDN?

CDN的全称是ContentDeliveryNetwork,即内容分发网络。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。CDN网络可以将服务器的内容缓存到分布全球的CDN节点,根据用户的访问IP,就近连接CDN,提高网站响应速度。(引用自google.com)

以上就是小编对于网站故障排查的解析。

网站

好了,文章到这里就结束啦,如果本次分享的java请求406是什么错误和网站故障排查从错误码406说起问题对您有所帮助,还望关注下本站哦!

邹忌讽齐王纳谏的讽翻译 邹忌讽齐王纳谏的讽翻译拼音java 结尾匹配符有什么用 java代码结尾加分号和不加分号有什么区别