- 错误类型:
- HTTP错误
- 错误名称:
- 400错误请求
- 英文名称:
- 400 Bad Request
- 错误描述:
- 服务器将400 Bad Request(也称为400错误或称为400错误请求)视为一般客户端错误,当服务器确定该错误不属于任何其他状态代码类别时,将返回此错误请求。
- 错误变体:
- “Bad Request – Invalid URL”“HTTP Error 400”“Bad Request. Your browser sent a request that this server could not understand.”“HTTP Status 400 – Bad Request”“HTTP Error 400 – Bad Request”“400 – Bad Request. The request could not be understood by the server due to malformed syntax. The client should not repeat the request without modifications.”“400 Bad Request. Request Header Or Cookie Too Large”“Bad Request – Error 400”
当网站无法加载时,提示你一个错误码而你又束手无措,那真的很烦人。最为常见的一个是400 Bad Request。但当你了解为什么会发生这种情况,你便知道如何解决问题了。
4xx状态代码与来自客户端的无效或损坏请求有关。下面我们将详细说明引起400 Bad Request错误的原因以及解决该问题的方法。
什么是400错误请求?
服务器将400 Bad Request(也称为400错误或称为400错误请求)视为一般客户端错误,当服务器确定该错误不属于任何其他状态代码类别时,将返回此错误请求。
那么关键点就出来了,400 Bad Request这个错误是与客户端在提交请求时服务器处理之前发生的事情。
什么导致400错误请求
有多种根本原因可以触发400 Bad Request错误,即使此错误并非特定于任何特定的浏览器或操作系统,其修复方法也确实有所不同。
1. URL字符串语法错误
由于URL输入错误,语法错误或包含非法字符的URL,都可能会导致400 Bad Request错误。
如果URL编码不正确,则可能发生这种情况。以下是一个URL的示例,该URL包含服务器无法处理的字符,因此会触发400 Bad Request错误。
https://twitter.com/share?lang=en&text=Example%20of%20malformed%%20characters%20in%20URL
请注意,URL中的格式错误单词后多出了一个%字符。正确空格编码应该是%20而不是%%20。
非法字符也会触发400错误请求。以下网址包含一个{字符,这是不允许的。因此,它导致相同类型的错误。
https://twitter.com/share?lang=en&text=Example%20of%20malformed{%20characters%20in%20URL
2. 无效浏览器缓存和Cookie
即使URL是100%正确,由于浏览器缓存文件损坏或浏览器cookie过期/损坏,也可能会导致400 Bad Request发生。
上次登录后一段时间,当您尝试访问WordPress网站的管理后台时,可能会遇到400错误请求。这是因为处理登录身份验证数据的Cookie可能已损坏而无法成功完成而无法成功地将您验证为具有管理员权限的有效用户。这导致连接被拒绝,并触发400 Bad Request错误。
3. DNS查找缓存
当本地存储的DNS数据与注册的DNS信息不同步时,可能会发生400错误请求。
所有域名都是IP地址的别名。您可以将IP地址视为“始终呼叫”要连接的特定服务器的电话号码。首次访问网站时,会发生一个名为“名称解析”的过程,即域名解析为服务器的特定IP地址。
为了加快处理速度,这些详细信息存储在本地计算机DNS缓存上,因此不必为给定网站的每次访问都进行名称解析过程。这类似于浏览器缓存HTML,CSS,JavaScript,媒体和其他文件。
4. 文件太大
当您尝试体积较大的文件而无法满足网站上传请求时,也会发生400错误请求。这与服务器的文件大小限制有关,并将根据其设置方式而有所不同。
5. 通用服务器错误
有时也可能由于服务器端问题而触发此错误。具体来说,状态码为400可能表示服务器出现一般性问题,服务器故障或其他未指定的临时性问题。
如果在尝试连接到第三方网站时发生这种情况,那实际上不在您的控制范围内,最好的办法是尝试刷新浏览器并定期检查问题是否已由网站所有者解决。
尝试在其他浏览器上,或者在完全不同的机器/设备上进行测试,以验证这是否是由于服务器端问题导致。
如果您无法通过任何其他浏览器,计算机,操作系统或其他设备连接到该站点,则很可能是服务器端的问题。
不同浏览器提示的400错误请求
大多数情况下,“ 400错误请求”与客户端问题有关。在Chrome浏览器中400 Bad Request错误提示如下图。
Chrome提示400错误请求
但是其他浏览器呢?
Firefox浏览器400错误请求
Firefox提示400错误请求
Safari浏览器400错误请求
Safari提示400错误请求
Microsoft Edge浏览器400错误请求
Microsoft Edge提示400错误请求
所有浏览器都返回通用且无用的400状态代码消息,不会提示任何解决问题的方法。在Firefox和Safari中,浏览器窗口完全空白,连400 Bad Request错误的踪影你都看不到!
不用慌,我们在下面整理了一系列办法,可以帮助你解决400 Bad Request错误。
如何修复400错误请求
总体而言,我们将解决浏览器400错误请求的解决办法归纳为以下7种:
在深入研究解决400 Bad Request错误的不同方法之前,您可能会注意到几个步骤涉及刷新本地缓存数据。
的确,如果您的电脑根本不缓存任何文件或数据,则连接错误问题可能会大大减少。但是缓存文件有其好处,如果浏览器不使用缓存技术,Web浏览体验大打折扣。
1. 检查提交的URL
发生400 Bad Request错误的最常见原因之一,自然应该从这个明显的罪魁祸首开始,即URL字符串本身。在浏览器中手动输入URL时,很容易键入包含不需要的字符。
检查您尝试访问的域名和特定页面地址的拼写和键入是否正确。另外,请确保它们之间用正斜杠分隔。如果URL包含特殊字符,请确保它们已正确编码并且是合法的URL字符。
对于较长的URL,您可能会发现使用在线URL编码器/解码器不容易出错。这些类型工具还能够自动检测URL中的非法字符。
确定URL正确后,再尝试在浏览器中再次访问它。如果仍然出现400 Bad Request错误,那么尝试清除下浏览器缓存!
2. 清除浏览器缓存
如果任何本地存储的网站文件已损坏,则可能导致返回400 Bad Request错误,而不是预期的网站内容。
这包括网站正常运行所需的所有文件类型,例如:
- HTML
- JavaScript
- 文本/配置文件
- CSS
- 媒体(图像,视频,音频)
- 数据文件(XML,JSON)
最初访问该网站时,浏览器会将这些文件存储在本地计算机上。
要解决此问题,需要清除浏览器缓存。
在Chrome浏览器中,点击右上角的三点图标,然后从弹出菜单中选择更多工具>清除浏览数据。
清除浏览器缓存菜单选项
这将显示“清除浏览数据”窗口,选中了“缓存的图片和文件”选项,然后单击“清除数据”按钮以清除浏览器缓存。
您还可以通过“时间范围”下拉列表选择删除特定时间范围内的最新文件。但是,为确保删除所有可能损坏的文件,我们建议通过选择“时间不限”选项来删除所有本地存储的文件。
清除浏览数据选项
3. 清除浏览器Cookie
如果清除浏览器缓存不起作用,那么再尝试删除cookie。一个网站可能使用数十种不同的Cookie。如果其中只有一个过期或损坏,则可能触发400错误请求。
要在Chrome中清除Cookie,请点击右上角带有三个点的图标,打开“清除浏览数据”窗口,然后从弹出菜单中选择更多工具>清除浏览数据。
确保已选中Cookie和其他网站数据,然后为日期范围选项选择时间不限以删除所有当前网站Cookie。
清除浏览数据选项(cookie)
完成后,尝试再次加载返回400 Bad Request错误的网站。
4. 文件上传超出服务器限制
如果您上传的文件超出网站服务器文件大小限制,则会导致400错误请求。
您可以上传较小的文件来进行测试。如果成功,则可能是文件大小限制原因导致错误发生,您需要找到某种方法来减小体积(比如压缩),再重新上传。
这取决于您尝试上传的文件类型,网站可以找到许多支持压缩大型图像,视频和音频文件的软件工具。
这是WordPress中的一个大问题。WP用户在尝试上传文件时总是遇到HTTP错误。这也不仅仅发生在WordPress上。但是使用 WP,这是一个非常简单的修复。但是,为了确保您基于文件大小设置的400,请将较小的文件上传到服务器。如果它通过,则文件大小限制需要增加的可能性更高。最后,注销并重新登录以修复基于上传的400错误码。
在您的wp-config.php文件中,您应该找到如下所示的一行:define('WP_MEMORY_LIMIT', '64M')
;
如果你没有找到它,你可以把它复制/粘贴到/* That’s all, stop editing! Happy blogging. */. 然后将64M调整为128M或256M 。这样做将更改WordPress网站的最大文件上传大小(以兆字节为单位)。
您还可以通过.htaccess文件和主题目录中的functions.php文件更改最大文件大小 。如果您更愿意走那条路,参考此文档以完成这些步骤。
5. 清除DNS缓存
另一个400错误请求的常见原因是本地DNS查询数据损坏或过时。
刷新您的DNS缓存的方式与清除浏览器缓存和删除cookie的方式大致相同。(顺便说一下,它们是完全分开的。)不过概念是一样的。您的计算机正在保存您访问过的站点的DNS信息,以便在重新访问它们时更快地加载它们。但是……有时旧信息会与网站的最新版本发生冲突。你会得到一个400错误码。
不过,这是一个非常简单的修复。在Windows中,您只需要打开命令提示符。
只需在搜索中输入cmd,当您出现提示时,只需输入 ipconfig /flushdns(带空格)。这可能已经修复了您的HTTP错误码400。
如果您使用的是 Mac,则非常相似。您搜索 terminal 并输入 sudo killall -HUP mDNSResponder。如果这不起作用,请尝试 sudo discoveryutil udnsflushcaches。
本地DNS数据不是由浏览器存储,而是由操作系统本身存储。不同系统的DNS数据清除方法不尽相同,查看DNS清除/刷新教程。
6. 停用浏览器扩展
如果您安装了影响网站Cookie的浏览器扩展,这也可能是罪魁祸首。在尝试再次连接到该网站之前,请尝试暂时将其禁用以查看是否起作用。
就像WordPress调试一样,您要确保第三方软件不会导致问题。如果您运行任何浏览器扩展或附加组件,最好单独禁用它们以查看其中一个是否导致错误弹出。
你可以一次完成这一切,但你不知道谁是罪魁祸首。所以单独检查它们。如果您可以重新加载页面并且没有出现400错误,那么要么学习在没有该附加组件的情况下生活一段时间,要么检查扩展程序市场以确保它已更新到最新版本。
您可能没有考虑过这可能是一个问题,但是如果您无路可走,这值得一试。
7. 排除设备和互联网连接故障
现在,如果你访问的每个页面都返回 400 Bad Request,那么你可能只是网络连接不畅。如果是这种情况,请尝试切换到不同的网络。例如,您可以关闭移动设备的 Wi-Fi 功能,使用蜂窝数据。
为什么这样做有效?网络问题可能导致请求无法正确到达服务器。
如果这样可以解决错误,则可以对互联网连接进行故障排除。
怎么办?
- 重启设备:这可以清除随机存取内存(RAM)、刷新临时缓存并关闭正在运行的程序,因此可能有助于解决 “错误请求 ”问题。
- 重启 Wi-Fi 路由器:简单的重启可以清除临时故障。
- 检查你的连接:在 Wi-Fi 和有线连接之间切换,或尝试在不同的网络上访问网站。
- 禁用 VPN 或代理服务:如果你正在使用 VPN 或代理服务,请暂时禁用它,看看是否是它导致了问题。
- 运行网络故障排除程序:
- 在 MacOS 上,使用无线诊断工具。
- 在 Windows 11 上,进入 设置> 系统 > 故障排除 > 其他故障排除程序 > 网络和 Internet 。单击运行 。
如果这些选项都不能清除错误,而且您在多个或所有网站上仍然收到 400 Bad Request 错误,请考虑联系服务提供商帮助解决问题。
监控和预防400 Bad Request错误
未雨绸缪可以让您避免未来的麻烦。以下是如何监控网站健康状况的方法:
使用网站审计工具
Google Search Console 等工具可以扫描网站是否存在错误,包括 400 Bad Request 问题。具体操作如下
- 设置工具:按照工具说明将其连接到网站。
- 运行扫描:启动对网站的抓取以检测错误。
- 分析结果:查找任何返回 400 状态代码的页面。
- 修复问题:利用所提供的洞察力更正 URL、修复断开的链接或调整服务器设置。
定期更新网站
保持网站更新可以防止关键的安全问题和其他可能导致错误(包括 400 错误)的问题。更新所有组件,尤其是插件和主题,以确保兼容性。确保您的内容管理系统(CMS)始终更新到最新版本。
教育你的团队
确保任何添加内容或管理网站的人员都了解避免引入错误的最佳实践,包括我们在本文中介绍的所有内容。
小结
如果遇到400错误请求,可以执行上述多种操作来尝试解决此问题。
在绝大多数情况下,“ 400错误请求”是由向服务器提交请求或本地缓存引起的客户端问题。这篇文章中概述的解决方案不需要专业知识,只需要紧跟步骤,即大几率解决400错误请求报错!
但是,有时候“400错误请求”状态代码可能由于通用服务器问题引起。通过在不同设备不同浏览器上测试站点,可以快速诊断是否是这样的问题。如果怀疑是服务器端错误,除了稍后再试你别无他法。
评论留言