遇到诸如“ HTTP 406不可接受”之类的错误消息可能会令人沮丧,尤其是当您不确定是什么原因引起的时。无论您是使用网站,使用Web应用程序还是浏览,此错误都会破坏您的工作流程。
好消息?通常是可以解决的。
在本指南中,我们将解释HTTP 406错误,为什么会发生,最重要的是,如何快速修复它。我们将探索客户端和服务器端原因,并提供任何人都可以遵循的可行解决方案。
首先,让我们了解HTTP状态代码的基础知识及其在Web通信中所扮演的角色。
目录
切换
什么是HTTP状态代码?1xx:信息2xx:成功3xx:重定向4xx:客户端错误5xx:服务器错误什么是HTTP 406不可接受的错误?请求标题在406错误中的作用请求的URL如何影响错误?406个错误的常见客户端原因http 406的客户端修复程序是不可接受的错误清除浏览器缓存和饼干禁用浏览器扩展切换到另一个浏览器查看自定义标头更新您的浏览器406个错误消息的服务器端原因服务器端修复http 406错误消息检查服务器日志修改mod_security规则调整MIME类型修复文件权限配置内容谈判实施后备响应更新CMS插件或扩展程序开发人员的最终提示错误处理的最佳实践返回用户友好的错误页面提供替代内容类型记录所有406错误保持SEO完整性总结关于http 406错误的常见问题解答如何解决406不可接受的错误?如何绕过错误代码406?什么是错误代码406:预订不可接受?如何修复不允许错误的HTTP 405方法?406错误是服务器或客户端问题吗?
什么是HTTP状态代码?
HTTP状态代码是服务器以响应客户端请求发送的三位数消息。这些代码可让您的浏览器知道请求是否成功或出现问题。
服务器发送的每个HTTP响应状态代码都属于五个标准类别之一。这些代码用于指示客户端请求的结果,并有助于识别诸如错误配置,意外数据库更改或路由问题之类的问题。这是五个类的细分:
1xx:信息
这些代码表明已收到请求,并且服务器正在继续处理。它们通常不向用户显示,但在协议级通信期间很有用。
2xx:成功
该课程表示该请求已成功收到,理解和接受。服务器的适当响应通常属于此类别,例如200 OK。
3xx:重定向
这些代码告诉客户端需要进一步的操作来完成请求,例如重定向到以前的URL或其他位置的版本。
4xx:客户端错误
考虑了客户端错误响应,当问题出现在客户端发送的请求中时,就会发生这些响应。找不到404之类的错误,而406则无法接受。它们通常涉及无效的标题,错误的请求,甚至更改通过内容管理系统进行的数据库记录。
5xx:服务器错误
考虑了服务器错误响应,这些响应表明该请求有效,但是在处理服务器时,请求在服务器上发生错误。这些可能指出了诸如配置错误的应用程序,服务器端日志中的故障,甚至是由系统过载或代码执行不良导致的HTTP错误。
406不可接受的错误是4xx组的一部分,这表明客户端发送的请求有问题(通常是您的浏览器或应用程序)。
了解更多有关:如何修复WordPress中错误的连接时间
遇到HTTP错误,例如406或405?
我们的紧急WordPress支持团队可以快速解决和解决紧急问题。
探索我们的紧急WordPress支持服务
什么是HTTP 406不可接受的错误?
当服务器无法以客户端请求的格式返回响应时,HTTP 406发生不可接受的错误。
简单地说,您的浏览器要求提供特定类型的数据(例如HTML,JSON或XML),但是服务器无法以该格式提供它。结果,它返回406错误。此错误的要点是:
这是客户端错误,但是服务器错误配置也可以触发它。
根本原因通常在于请求标头,尤其是接受标头。
修复它通常涉及调整标头,服务器设置或故障排除插件。
让我们深入研究原因以及如何解决这些原因。
快速修复它:如何修复400个不良请求错误
请求标题在406错误中的作用
请求标头,尤其是接受标头,是诊断406错误的最重要元素。让我们检查一下它的工作原理。
什么是接受标题?
当浏览器请求页面时,它会发送标题,以告诉服务器可以接受哪种格式。例如:
接受:text/html,application/xhtml+xml,application/xml; q = 0.9, */ *; q = 0.8
这告诉服务器它更喜欢HTML,但也可以处理其他格式。
为什么会触发406?
如果服务器不支持任何请求的格式,或者它不受服务的限制,则它将返回406错误。这通常发生时发生:
接受标头太具体了
服务器无法识别格式
安全模块阻止非标准标头
可行的故障排除提示:如何修复WordPress中的数据库错误
请求的URL如何影响错误?
有时,问题不是在标题中,而是在URL本身中。可能的URL问题包括:
URL指向不存在的文件或资源
由于权限,资源受到限制或无法访问
服务器规则(例如Apache中的.htaccess)阻止特定类型的请求
如何解决此问题:
仔细检查错别字的URL
尝试从另一个浏览器或设备访问URL
检查资源是否存在于服务器上
如果更改URL解决问题,则可能是路由或权限问题。
查看:如何解决WordPress中的500个内部服务器错误
406个错误的常见客户端原因
即使服务器触发了406不可接受的错误,但根本原因通常位于客户端。用户端的几个问题可能会导致此错误。以下是最常见的客户端原因:
请求标头不正确:当客户端发送过度严格或不正确的接受或接受语言标题时,服务器可能无法使用合适的响应格式匹配它们。
浏览器或用户代理问题:错误配置的浏览器或过时的用户代理可能会发送服务器无法正确处理的错误或不支持的标头。
故障的浏览器扩展名或插件:某些扩展程序,例如广告阻滞剂或隐私工具,修改请求标头或某些内容类型,这可能导致406错误。
配置错误的CMS或主题: 内容管理系统(CMS)或主题可能注入非标准标头或修改默认设置,从而干扰客户端和服务器之间的内容协商。
损坏的cookie或缓存:存储的cookie或缓存数据可能与当前的请求标头发生冲突或引入触发406响应的不一致之处。
恢复步骤: WordPress紧急服务处理WordPress站点崩溃
http 406的客户端修复程序是不可接受的错误
如果您遇到406不可接受的错误,则问题可能扎根于您的浏览器或本地设置。尝试这些客户端解决方案来解决问题和解决问题:
清除浏览器缓存和饼干
随着时间的流逝,您的浏览器存储了缓存的数据和cookie,以加快加载。但是,过时或损坏的cookie可能会将不正确的标头发送到服务器,从而触发406错误。因此,首先清除浏览器的缓存和饼干。然后,重新加载页面。您还可以尝试以隐身或私人模式打开网站,以排除与会话相关的问题。
禁用浏览器扩展
一些浏览器扩展程序,尤其是AD阻滞剂,VPN和以隐私为中心的插件,可以修改请求标头或阻止内容,从而导致与服务器的冲突。因此,暂时禁用所有扩展名并刷新页面。如果该站点正确加载,则一次重新启用扩展程序以找到罪魁祸首。
切换到另一个浏览器
不同的浏览器处理请求的处理方式不同。如果错误在当前浏览器中持续存在,请尝试在Chrome,Firefox,Edge或Safari等另一个浏览器中打开相同的URL。如果错误消失,则原始浏览器可能具有配置问题或不支持的功能。
查看自定义标头
对于开发人员和精通技术的用户,值得检查发送的HTTP请求标头。您可以使用浏览器开发人员工具(网络选项卡)或Postman等工具来分析它们。检查接受和接受语言标头是否过于特定的值。松开标头值可能会使服务器可以使用兼容格式做出响应。
更新您的浏览器
过时的浏览器可能缺乏对新内容类型的支持或发送服务器无法识别的旧标题。因此,始终确保您的浏览器已更新到最新版本,以保持兼容性和安全性。
了解更多:如何修复HTTP 429的请求太多错误
406个错误消息的服务器端原因
虽然406错误被归类为客户端问题,但有时应归咎于服务器配置。
这就是为什么您可能会收到服务器错误响应的原因:
内容谈判不当:服务器执行内容协商以确定最佳响应格式。如果此协商失败,因为服务器不支持客户端请求的格式,则会导致406。
不正确的MIME类型:如果您的服务器不支持或标记为请求的MIME类型(例如Application/JSON或TEXT/HTML),请求将无法完成。
安全模块(例如MOD_SECURITY) :许多托管环境都使用MOD_SECURITY之类的工具来增加保护。这些模块可以用某些标头或内容类型阻止请求,从而触发406。
文件或目录权限:服务器上的访问限制或不正确的文件权限可以阻止所请求的内容的交付。
应用程序代码中的问题:某些框架和应用程序手动处理内容谈判。书面代码不佳或不配置的API可能会发送冲突的响应。
更好的是: 无限的WordPress支持与按下付费
服务器端修复http 406错误消息
如果客户端故障排除无法解决406错误,则该问题可能来自服务器。服务器端配置通常在处理请求并提供响应的方式中起着至关重要的作用。这是解决406不可接受的错误的最有效的服务器端修复程序:
检查服务器日志
首先查看服务器日志。它们通常包含有关被拒绝请求的宝贵细节。寻找指示内容类型,拒绝格式或失败内容协商尝试的条目。这些日志可以将您指向特定问题,无论是错误配置,安全过滤器还是缺少的文件类型。
修改mod_security规则
如果您的服务器使用具有mod_security的Apache,则可能会阻止某些请求标头或内容类型。因此,暂时禁用mod_security可以帮助确定这是否是原因。确认后,您可以调整规则集以允许有效的请求,同时仍保持安全性。
调整MIME类型
确保您的服务器识别并支持客户端要求的MIME类型。例如,如果客户端期望应用程序/JSON,但服务器不支持它,则可能会发生406错误。正确定义或注册您的应用程序所提供的内容的MIME类型。
修复文件权限
错误的文件或目录权限可以防止服务器访问和服务内容,从而导致内容谈判失败。确保面向公共的文件和文件夹具有适当的读取权限,并且服务器规则不限制访问权限。
配置内容谈判
在诸如Apache之类的服务器上,请确保使用AddType或Addhandler等指令正确设置内容协商。对于NGINX,请验证内容类型的标头是否准确发送并与客户的期望保持一致。不匹配会触发406错误。
实施后备响应
如果您的应用程序支持多种内容格式(例如HTML,JSON,XML),则实现了后备机制。如果客户的首选格式不可用,则您的应用程序应默认为标准格式,而不是返回406错误。
更新CMS插件或扩展程序
如果您的网站在WordPress,Drupal或Joomla之类的CM上运行,则可能会修改HTTP标头。更新所有扩展名,并禁用任何可能改变响应格式或干扰内容谈判的内容。
查找:您的网站需要按需WordPress支持服务的钥匙符号
开发人员的最终提示
对于Web开发人员和技术用户,诊断和修复406不可接受的错误需要动手操作。通过使用正确的工具和监视技术,您可以快速查明问题,并确保您的服务器适当响应客户端请求。
使用测试工具邮递员或curl等工具来手动测试服务器对不同请求标头的响应方式。这可以帮助您模拟现实世界的场景并微调内容谈判设置。
验证服务器内容类型和标题:使用浏览器开发人员工具(网络选项卡)检查内容类型并接受请求期间交换的标头。确保服务器正在返回与客户端期望相匹配的格式。
启用和监视详细的日志记录:始终在服务器上启用详细的错误记录。日志有助于跟踪406错误的确切时刻和原因,从而使您可以有效地解决和解决问题。
扩展客户支持:如何提供及时有效的WordPress维护服务
错误处理的最佳实践
即使无法完全根据要求处理请求,您的服务器仍应以信息丰富且用户友好的方式做出响应。处理不当的错误会使用户感到沮丧,影响站点的信誉,甚至伤害您的SEO。这就是为什么制定可靠的错误处理实践至关重要的原因。
以下是处理HTTP 406不可接受的错误或任何其他服务器响应问题时要遵循的一些最佳实践:
返回用户友好的错误页面
而不是空白或技术错误消息,而是提供一个自定义错误页面,该页面清楚地说明了简单的术语出了什么问题。这有助于用户理解问题,并经常引导他们采取下一步,例如返回主页或联系支持。
需要帮助创建自定义错误页面吗?
专业设计的自定义错误页面不仅可以改善用户体验,还可以保护您的SEO性能。
开始使用自定义错误页面设置
提供替代内容类型
如果客户端的首选内容类型可用,则服务器应尝试使用更常见的格式响应(例如Plain HTML或JSON)。通过提供后备选项,您可以减少请求失败的机会并改善用户体验。
记录所有406错误
详细的记录是主动错误管理的关键。通过跟踪何时和如何发生406个错误,您可以识别模式,例如某些浏览器或用户代理触发错误,并在影响更多用户之前修复根本原因。
保持SEO完整性
搜索引擎还遇到服务器的响应。处理不当的406错误可能会影响您的爬网性和索引。通过提供清洁,信息性和符合标准的错误页面,您可以帮助搜索机器人更好地了解您的网站并保持良好的SEO健康。
阅读:最高主动的WordPress维护策略以防止停机时间
总结
HTTP 406似乎不可接受的错误似乎是技术性的,但是一旦您知道在哪里看,通常很容易修复。在大多数情况下,问题在于标题,浏览器设置或服务器配置。
通过了解内容谈判的工作原理以及标题如何影响响应,您可以轻松诊断问题。
无论您是开发人员,网站所有者还是SEO专业人员,遵循本指南中的步骤都可以帮助您快速消除错误。
请记住:系统地测试,排除客户端和服务器问题,并始终监视您的服务器日志。
仍然在WordPress网站上遇到406错误吗?与我们联系以获得高级和紧急支持。
关于http 406错误的常见问题解答
如何解决406不可接受的错误?
HTTP 406不可接受的错误是客户端错误响应代码,该响应代码无法返回与请求标题中定义的可接受值(通常是接受或接受语言标头)匹配的响应时。要解决此问题,请检查并调整请求标头,清除浏览器缓存以及禁用故障插件或扩展名。在服务器端,确保配置了适当的内容谈判,并以支持格式提供所请求的资源。
如何绕过错误代码406?
要绕过406错误,请使用浏览器或工具,该浏览器或工具发送更多具有可接受值的通用标题,例如接受: */ * 。在Web应用程序中工作的开发人员可以配置后备格式,以确保始终提供可接受的响应。MOD_SECURITY临时进行测试的安全模块也很有帮助
什么是错误代码406:预订不可接受?
此错误消息通常会出现在Web应用程序中,例如预订系统,当服务器未能提供所请求的资源的适当表示。它通常源自使用的内容管理系统(CMS)中严格的标头要求,错误的插件或问题。更新CMS或恢复最近的数据库记录更改可能会有所帮助。
如何修复不允许错误的HTTP 405方法?
HTTP 405错误也是客户端错误响应,当服务器识别URL而不是所使用的HTTP方法(例如,post,get)时发生。要修复它,请检查服务器配置文件,路由或PHP代码。确保您的CMS仪表板或框架允许您尝试使用的方法。
406错误是服务器或客户端问题吗?
尽管406错误是客户端状态代码,但它通常是由服务器端问题引起的,例如配置错误的MIME类型,限制性请求标头或安全模块。有时,即使基本CM或托管帐户设置也可以贡献。使用Postman等工具进行适当的记录和测试可以帮助隔离原因。
里贾纳·帕蒂尔(Regina Patil)
与我们在WPServices的首选内容作家Regina会面。她将SEO知识与讲故事的诀窍融合在一起,以创建清晰,精心研究的文章,博客文章和网络副本。里贾纳(Regina)需要时间来了解观众,确保每个单词都产生共鸣并驱动行动。从技术记录TOS到信息指南,她致力于创建引人入胜的内容。
查看完整简历