35

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

它似乎只发生在 Firefox 中。

删除用户 cookie 确实有帮助。

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

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

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

知道发生了什么吗?

4

6 回答 6

32

看来饼干毕竟太多了。我确保没有那么多,它现在正在工作。

于 2013-02-24T13:09:35.653 回答
19

对于我们在 IIS 中托管的一些 Intranet 站点,我们的一些用户在 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

于 2014-02-04T19:23:31.460 回答
10

解决方案 1

从您的浏览器中删除所有域 cookie

在火狐 53 中

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

在此处输入图像描述

在 Chrome 中检查这个超级用户解决方案 在此处输入图像描述

解决方案 2

  1. 安装Web Developer扩展(FirefoxChromeOpera
  2. 转到 cookie 选项卡 -> 删除域 Cookie,如下图所示

在此处输入图像描述

解决方案 3

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

更多细节:

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

在使用 Chrome 开发人员仪表板的网络选项卡进行诊断后。我检查了标题并找到以名称WSS_exp开头的大 cookie并从chrome cookie 管理器中删除所有这些都解决了我的问题

于 2013-11-28T06:13:39.073 回答
9

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

于 2015-10-26T14:08:02.683 回答
1

此错误的另一个原因是用户位于过多的活动目录组中。更现代的 SSRS 版本没有这个问题。

似乎 AD 组列表在 HTTP 标头中传递。旧版本的 SQL Server Reporting Services 具有标头大小限制。因此,如果用户在过多的组中,最简单的解决方法是删除不需要的组。

如果删除组不是一个选项,您应该能够编辑 web.config 文件并增加限制。你可以在这里看到如何做到这一点...... https://www.mssqltips.com/sqlservertip/4688/resolving-the-maximum-request-length-exceeded-exception-in-sql-server-reporting-services/

于 2021-04-09T14:17:58.517 回答
-1

我使用ViewData而不是TempData,问题解决了。

于 2020-04-13T13:38:52.947 回答