错误请求 - 请求太长HTTP错误400.请求标头的大小太长

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误请求 - 请求太长HTTP错误400.请求标头的大小太长相关的知识,希望对你有一定的参考价值。

我的一些用户在请求我的网站的某些页面时有时会收到以下错误:错误的请求 - 请求太长的HTTP错误400.请求标头的大小太长

它似乎只发生在Firefox中。

删除用户cookie确实有帮助。

我不明白的是:我认为每个请求都附加了cookie。为什么我的页面中只有一两个显示此错误,大部分都没有?

它也不依赖于服务器页面。如果用户请求http://example.com/user/Myname,他可能会收到错误。如果他只是更改了URL的大写,那么它再次起作用(如http://example.com/user/myname)。 (我正在运行IIS,它不太关心大小写)。

对于浏览器,两个URL是不同的,对于服务器它们不是。

知道发生了什么吗?

答案

毕竟似乎有太多的饼干。我确信没有那么多它现在正在工作。

另一答案

对于我们在IIS中托管的一些内部网站点,我们的一些用户也在IE 8上遇到了同样的异常。该问题与使用Kerberos身份验证有关,其中用户属于许多活动目录组。

我们从以下Microsoft支持文章中找到了解决方案:

我们的修复是使用增加的值设置以下注册表项和/或如果它们不存在则创建它们:

  • HKEY_LOCAL_MACHINE System CurrentControlSet Services HTTP Parameters MaxFieldLength DWORD(32位) - 分配值数据32000(十进制)
  • HKEY_LOCAL_MACHINE System CurrentControlSet Services HTTP Parameters MaxRequestBytes DWORD(32位) - 分配值数据8777216(十进制)

[HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet services HTTP Parameters]“MaxFieldLength”= dword:00007d00“MaxRequestBytes”= dword:0085ee00

另一答案

问题是由于cookie已损坏。简单的解决方案是删除所有cookie,但这是解决该特定问题的最佳方法,我已经为Firefox,Chrome和Internet Explorer创建了一个自定义指南。见这里:http://timourrashed.com/how-to-fix-the-400-bad-request-error-message-from-a-website/

另一答案

解决方案1

从浏览器中删除所有域cookie

在Firefox 53中

  1. Alt - >工具 - >页面信息
  2. 安全
  3. 查看Cookies
  4. 移除所有

enter image description here

在Chrome中检查this superuser solution enter image description here

解决方案2

  1. 安装Web Developer扩展(FirefoxChromeOpera
  2. 转到cookies选项卡 - >删除域Cookie,如下面的截图

enter image description here

解决方案3

  • 使用隐身模式,看看它是否适合您

更多细节:

我在Chrome中遇到了同样的问题,并使用了SharePoint中的列表。

在使用Chrome开发人员信息中心的网络标签进行诊断后。我检查了标题并找到以名称WSS_exp开头的大型cookie,并从chrome cookie manager中删除所有这些解决了我的问题

以上是关于错误请求 - 请求太长HTTP错误400.请求标头的大小太长的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 错误 400。请求标头的大小在 ASP.NET MVC 应用程序中过长

Azure 门户:错误请求 - 请求太长

当内容类型和内容编码标头一起发送时,表达js拒绝发布请求(400错误请求)

Python 请求 POST DATA 错误 400 标头名称无效

来自具有特定“接受”标头的请求的错误响应正文格式

Jetty 在格式错误的 HTTP POST 标头上返回“HTTP/1.1 400 Bad Request”。这是预期的吗?