如何修复Google Chrome的 HTTP 错误 431?

如何修复Google Chrome的 HTTP 错误 431

每当您打开网页时,Google Chrome 等浏览器都会向服务器发送 HTTP 请求。 在后端,在请求标头中发送和在响应标头中接收到有用的信息。 但是,您不会看到所有这些标头信息,Chrome 只会显示来自服务器的正文响应。 在此通信过程中可能会出现很多故障,HTTP 错误 431 就是这样一个问题。 如果您经常在 Chrome 中看到 431 代码,以下是解决此问题的方法。

HTTP 状态码 431

状态码 431 表示“请求标头字段太大”,并且由于这个原因,服务器拒绝处理请求。 由于所有 4xx 状态码都是浏览器的错误请求导致的,因此 431 错误的排查需要从分析 Chrome 发送的 HTTP 请求头开始。 此外,431错误还有其他可能的原因。 尝试以下修复并检查它是否有助于解决 Chrome 中的问题。

注意 其中一些修复程序技术含量很高,适用于尝试在自己的网站上修复 431 HTTP 错误的网站所有者。

1. 检查 HTTP 请求头大小

尽管单个和总 HTTP 标头大小没有大小限制,但出于安全原因,Web 服务器可能会拒绝较大的请求。 您可以在 Chrome 开发者工具中轻松检查标头大小,以了解大小是否是根本原因。

  • 在 Chrome 中打开网页,您将看到“HTTP Error 431”。
  • 右键单击网页并选择“检查”选项以打开开发人员工具。
  • 单击“网络”选项卡并选择“所有”选项以显示从页面发送的所有请求。
  • 但是,您应该刷新页面以开始查看网络活动。
  • 右键单击标题行并选择“大小”以将该列包含在显示中。 您可以隐藏一些其他列以使显示紧凑。
在 Chrome 中检查 HTTP 标头大小
在 Chrome 中检查 HTTP 标头大小
  • 现在,按降序单击“大小”列,在前几行中找到最大的请求。

通常,每个标头请求的大小应为几 KB 到几百 KB。 如果您看到非常大的请求,那么这可能是 431 错误的原因。 如果您是网站所有者,请通过从您的网站中删除请求来测试网站,或使用 ModHeader 等测试扩展程序来确认问题。 如果您不是网站所有者,则可以通过社交媒体帐户通知网站所有者并要求修复。

2.删除浏览器缓存和cookies

当网站使用冗长的 cookie 时,也可能会出现 HTTP 431 错误代码。 当您按上述说明查看标头请求大小时,只需单击文档请求的名称(这是页面 URL,应显示为“名称”列下的第一项)。 在右侧面板上,单击“Headers”选项卡并向下滚动到“Request Headers”部分。 在这里,您可以看到网页请求的完整 cookie 长度。 您可以从左侧面板中选择一些您怀疑的请求,并检查在这些请求标头中发送的 cookie。 尽管有一个“Cookies”选项卡显示了从该请求发送的所有 cookie,但您不会在该列下看到完整长度。 您可能需要右键单击并复制 cookie 以粘贴到某处并找到完整长度。

查找网页文档级别使用的 Cookie
查找网页文档级别使用的 Cookie

有时,当您登录会员网站时,此 cookie 长度可能会非常长且动态。 最好的选择是删除 Chrome 中的所有 cookie 并检查是否有助于修复 431 错误。 请记住在删除 cookie 之前退出所有其他网站。 否则,您将被强制注销,因为删除 cookie 将导致会话过期。

  • 在 Windows 中按“Control + Shift + Delete”或在 Mac 中按“Command + Shift + Delete”。
  • 它将打开一个新选项卡并显示“清除浏览数据”弹出窗口。
  • 转到“高级”选项卡并选择“所有时间”作为时间范围。
  • 选中“Cookies and other site data”选项,然后单击“Clear data”按钮删除所有存储在 Chrome 中的 cookie。
在 Chrome 中删除 Cookie
在 Chrome 中删除 Cookie

3.删除URL中的Referrer Query参数

下一个解决方案是在收到 431 HTTP 错误时检查 Chrome 地址栏中的 URL。 如果 URL 太长,则可能是错误的原因。 尤其是当您单击当前页面中尝试打开附属页面的链接时,会发生这种情况。 例如,下面是附属页面,其中包含许多用于跟踪目的的 URL 查询参数。

https://www.website.com/special/coupon?utm_campaign=affiliate-link_name_username&utm_source=%28direct%29&utm_medium=affiliate&utm_affiliate=123456

如果您看到像上面那样冗长的 URL,那么只需删除 URL 中的所有内容。 标记。 这将删除引荐来源网址跟踪参数,并允许您访问页面而不会出现任何 HTTP 错误。 上述情况下的最终 URL 应该很简单,例如 – https://www.website.com/special/coupon.

4.禁用所有扩展

一般来说,扩展程序不会在 Chrome 中导致 431 错误。 但是,在使用某些扩展(如 HTTP 标头修改扩展)时可能会出现错误。 如果您错误地对您访问的所有站点应用了修改,那么您可能会遇到意外错误,例如 431。检查您的扩展程序并添加过滤器以仅对所需的 URL 应用 HTTP 修改。 否则,只需转到“chrome://extensions/”页面并禁用所有扩展。 现在检查页面正在加载,没有任何错误。

禁用所有 Chrome 扩展程序
禁用所有 Chrome 扩展程序

如果安装的扩展程序导致问题,您可能需要一一启用以缩小导致错误的项目。 找到有问题的扩展程序后,将其卸载并找到另一个替代方案。

总结

Cookie 和冗长的引用 URL 是导致 Chrome 中出现 431 HTTP 错误的最常见原因。 但是,如果您是测试 HTTP 标头的网站所有者或开发人员,那么您使用的工具或扩展程序很可能会导致问题。 在这种情况下,请禁用所有扩展并检查 HTTP 标头大小以解决问题。

推荐:修复Google Chrome更新问题的方法


发表评论