TrueURL
TrueURL

メニュー

400 不正なリクエスト

構文の誤り、無効な URL、大きすぎる Cookie など、クライアント側のエラーが原因で、サーバーがリクエストを処理しないことを示します。

リーズンフレーズ
Bad Request
リダイレクト
いいえ
デフォルトでキャッシュ可能
いいえ

400 Bad Request は汎用的なクライアントエラーです。構文の誤り、メッセージフレーミングの不正、欺瞞的なリクエストルーティング、不正な Host ヘッダー、無効なクエリパラメーター、解析できないボディなど、リクエストのどこかに問題があるとサーバーが判断し、処理を拒否しています。クライアントは、同じリクエストをそのまま繰り返すべきではありません。

多くのサーバーは、より具体的な専用のコードがある問題にも 400 を使います。たとえば nginx は、ヘッダーがバッファーの容量を超えると「400 Bad Request: Request Header Or Cookie Too Large」と返しますが、本来は 431 のほうが正確です。また多くの API は、422 が適したバリデーションエラーにも 400 を返します。

実際の原因を知るには、たいていレスポンスボディを見るのがいちばんの近道です。

レスポンス例

HTTP
HTTP/1.1 400 Bad Request
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: nginx
Content-Type: text/html
Content-Length: 217
Connection: close

<html>
<head><title>400 Request Header Or Cookie Too Large</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>Request Header Or Cookie Too Large</center>
<hr><center>nginx</center>
</body>
</html>

SEO とリダイレクトチェック

検索エンジンは 400 をほかの 4xx エラーと同様に扱います。その URL はインデックスされず、インデックス済みの URL が 400 を返すようになると、インデックスから削除されます。クローラーが送るのは Cookie なしの小さな標準的なリクエストなので、クローラーだけが 400 を受け取る場合は、たいてい URL に含まれる特殊な文字やファイアウォールのルールが原因です。リダイレクトチェックでチェーンの途中に 400 がある場合は、文字が二重にエンコードされていたりクエリ文字列が壊れていたりと、リダイレクトによって不正な URL が生成されていることがよくあります。

よくある原因と主な用途

  • Cookie の数が多すぎるか、サイズが大きすぎる場合。サイトの Cookie を削除するか、nginx の large_client_header_buffers を増やしてください。
  • エンコードされていないスペース、壊れたパーセントエンコーディング、無効な Host ヘッダーなど、URL の形式が不正な場合。
  • API リクエストの JSON が無効であるか、必須パラメーターが欠けている場合。
  • HTTPS のポートに平文の HTTP リクエストが送られた場合。nginx はこれを「The plain HTTP request was sent to HTTPS port」と報告します。

URL リダイレクトチェッカー

無料の TrueURL リダイレクトチェッカーで、URL が返すすべてのステータスコードをホップごとに確認できます。