您可能熟悉 HTTP 404 错误。当找不到您请求的页面或文档时。但是,当您收到 HTTP 错误 400(收到错误请求消息)时该怎么办?这个有点棘手,但不用担心。我们想了解 400 错误发生的一些最常见原因、如何修复它以及您可以采取哪些步骤来防止它发生。

什么是 HTTP 错误 400?

在人们遇到的所有 HTTP 错误中,这是发生在客户端的最常见错误之一。这并不是说服务器管理员不必担心。他们是。但在很多情况下,请求一开始就很糟糕,网站对此毫无意义。所以它甚至没有尝试执行它,它只是给你一个 400。

幸运的是,你可以做一些事情来将请求推送到服务器进程并执行它。接下来,让我们看看一些原因,以及如何解决它们。

浏览器缓存和 Cookie 问题

我们之前已经说过,我们会再说一遍。清除浏览器缓存是 HTTP 错误的“关闭和重新打开”。或者实际上,大多数互联网错误。不幸的是,这样做决不能解决所有问题。然而,如果某处损坏,cookie 过期,或者某些东西被锁定无法解析,清除浏览器缓存可能会清除它。

很多时候,表单提交或者登录都会返回400错误。如果您要发送安全和加密的数据包,则可能会在传输过程中出错。有时一个简单的刷新就可以解决问题,但有时一个完整的缓存请求可以清除它。

此外,当您收到 HTTP 错误 400 时,您可以尝试通过在错误屏幕上按 CTRL/CMD – Shift – R 来绕过缓存。这可能有助于推进您的请求。如果没有,请继续进行其他修复。

检查您的 URL

HTTP 错误 400 的主要原因之一实际上是 URL 中的错误。不像通常会产生 404 的拼写错误,而是不属于服务器预期语法的非法字符。

让我们看一个简单的例子。使用 UTM 活动时,您可以使用 %20 和类似的代码来插入字符(%20 插入空格)。像这样:

www.elegantthemes.com/divi?utm_campaign=viral%20campaign&utm_medium=Blog%20post&utm_source=TikTok

您可以立即将该 URL 放入我们的浏览器,它会起作用。但是,如果您将 % 或 %20 放​​在 URL 的主要部分(? 之前的部分表示 URL 中的查询字符串),服务器就不知道您要的是什么。

www.elegantthemes.com/%divi将为您提供:

因为标准的URL结构不接受这个字符。当您收到 HTTP 错误 400 时,请确保您没有以任何方式使 URL 格式错误。您已正确输入要访问的 URL。这很可能发生在您点击的 URL 上,因此如果您点击的链接给您一个 400 Bad Request 屏幕,请检查主 URL 是否有任何不应该出现的奇怪字符。

检查浏览器加载项和扩展

就像调试 WordPress 一样,您要确保第三方软件不会导致此问题。如果您运行任何浏览器扩展程序或加载项,最好单独禁用它们以查看是否其中之一导致错误弹出。

一切尽在一次操作,但你不知道是谁。所以请一一检查。如果您可以重新加载页面而不会出现 400 错误,则您可以暂时不用插件,或者检查扩展市场以确保它已更新到最新版本。

文件太大

这是WordPress的一个大问题。 WP 用户在尝试上传文件时不断收到 HTTP 错误。这不仅仅发生在 WordPress 中。但是使用 WP,这是一个非常简单的修复。但是,为了确保您设置的 400 是基于文件大小,将较小的文件上传到服务器。如果通过,您很可能需要增加文件大小限制。此外,我们很幸运能够注销并重新登录以修复基于上传的 400 错误。

在 wp-config.php 文件中,您应该找到类似于以下的行:define('WP_MEMORY_LIMIT', '64M');

如果找不到,可以复制粘贴到/ * 直接在上面,然后停止编辑!快乐的博客。 */.然后将64M调整为128M或256M。这样做会更改 WordPress 网站的最大文件上传大小(以兆字节为单位)。

您还可以通过主题目录下的.htaccess 文件和functions.php 文件更改最大文件大小。如果您想走那条路,我们有一些很棒的文档可以指导您完成这些步骤。

刷新您的 DNS 缓存

清除您的 DNS 缓存与清除浏览器的缓存和删除您的 cookie 的作用大致相同。 (顺便说一下,它们是完全独立的。)但是,概念是相同的。您的计算机正在保存您访问过的站点的 DNS 信息,以便您再次访问它们时可以更快地加载它们。但是...有时旧信息会与网站的最新版本发生冲突。你会得到一个 400 错误。

不过,这很容易修复。在 Windows 中,您只需要打开一个命令提示符。

搜索输入cmd然后出现提示时,只需键入 ipconfig /flushdns(带空格)。这可能已经解决了 HTTP 错误 400。

如果您使用的是 Mac,它非常相似。您搜索终端并键入 sudo killall -HUP mDNSResponder。如果这不起作用,请尝试 sudo discoveryutil udnsflushcaches。

有关其他操作系统和整个 DNS 缓存的完整列表,您可以查看 Kinsta 的优秀指南。

以 HTTP 错误 400 结束

如果在尝试了所有这些解决方案后仍然出现 400,请联系您的网络托管服务商。如果您是访问者并且您知道如何通过 Twitter 或其他方式与网站取得联系,那就去做吧。如果您是管理员并且必须进行故障排除,那么最好的办法可能是使用任何主机的支持。许多 HTTP 错误(例如 400)可以按照我们在此处提到的简单解决方案进行修复。然而,并不是每个人都能做到。那是主持人应该参与的时候。他们拥有比您更多的信息和访问权限。

您过去是如何处理 HTTP 错误 400 的?

Leremy/shutterstock.com 文章的精选图片

资源