411 Length Required は、Content-Length が定義されていないリクエストを、サーバーが受け付けないことを示します。クライアントは、ボディのサイズを示す有効な Content-Length ヘッダーを付けて、リクエストを繰り返すことができます。
これは、チャンク転送エンコーディングでボディを送る POST や PUT リクエストを、それを受け付けないサーバーに送った場合や、ボディがなく Content-Length: 0 もないリクエストで発生します。Google をはじめとする一部の大規模サービスは、Content-Length のない空の POST に 411 を返します。
レスポンス例
HTTP
HTTP/1.1 411 Length Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 66
Connection: close
<p>POST requests require a <code>Content-length</code> header.</p> SEO とリダイレクトチェック
クローラーはボディを持たない GET でページを取得するため、411 が SEO に影響することはありません。リダイレクトチェックでは、POST を使った場合に現れることがあります。307 や 308 をたどる際は、リクエストボディとその長さを再送する必要があるからです。
よくある原因と主な用途
- HTTP クライアントが、ボディも
Content-Length: 0もないPOSTを送信した場合。 - ストリーミングアップロードが
Transfer-Encoding: chunkedを使っているのに、サーバーやプロキシが長さを要求している場合。 - プロキシが
Content-Lengthヘッダーを削除または書き換えている場合。