35

私のサイトの一部のページをリクエストすると、一部のユーザーが次のエラーを受け取ることがあります: Bad Request - Request Too Long HTTP Error 400. The size of the request header is too long

Firefox でのみ発生するようです。

ユーザーの Cookie を削除すると役に立ちます。

私が理解できないのは、次のことです。すべてのリクエストに Cookie が追加されると思いました。私のページの 1 つまたは 2 つだけがこのエラーを表示し、ほとんどのページで表示されないのはなぜですか?

また、サーバー ページにも依存しません。ユーザーがhttp://example.com/user/Mynameを要求する と、エラーが発生する可能性があります。URL の大文字と小文字を変更するだけで、再び機能します ( http://example.com/user/mynameなど)。(大文字と小文字をあまり気にしない IIS を実行しています)。

ブラウザの場合、2 つの URL は異なりますが、サーバーの場合は異なります。

何が起こっているのですか?

4

6 に答える 6

32

やっぱりクッキーが多すぎたようです。それほど多くないことを確認し、現在は機能しています。

于 2013-02-24T13:09:35.653 に答える
19

一部のユーザーは、IIS でホストされている一部のイントラネット サイトで、IE 8 でも同じ例外に遭遇しました。この問題は、ユーザーが多くの Active Directory グループに属している Kerberos 認証の使用に関連していることが判明しました。

次の Microsoft サポート記事から解決策を見つけました。

私たちの修正は、値を増やして次のレジストリ キーを設定するか、存在しない場合は作成することでした。

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\MaxFieldLength DWORD (32 ビット) - 割り当てられた値のデータ 32000 (10 進数)
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\MaxRequestBytes DWORD (32 ビット) - 割り当てられた値のデータ 8777216 (10 進数)

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

于 2014-02-04T19:23:31.460 に答える
10

解決策 1

ブラウザからすべてのドメイン Cookie を削除します

Firefox 53 では

  1. Alt -> ツール ->ページ情報
  2. 安全
  3. クッキーを見る
  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 に答える