意味
サーバーは Content-Length ヘッダーを要求していますが、リクエストに含まれていません。
よくある原因
- チャンク形式を受け付けないサーバーへのチャンクアップロード
- 長さを付けずにボディをストリーム送信するクライアントライブラリ
- ボディも Content-Length: 0 もない POST
対処法
クライアント・閲覧者の場合
Content-Length を送る(空の POST には Content-Length: 0)か、ボディをバッファリングしてクライアントが計算できるようにします。
サイトや API の運営者の場合
可能ならチャンク転送エンコーディングを受け付けるか、長さが必要なことをドキュメントに書きます。
レスポンス例
HTTP/1.1
HTTP/1.1 411 Length Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Length Required",
"status": 411,
"detail": "Send a Content-Length header with the upload."
} 仕様
よくある質問
› 空の POST が 411 になるのはなぜ?
ボディがなくても Content-Length を要求するサーバーがあるからです。Content-Length: 0 を送ります。
› HTTP/2 で Content-Length は必要?
いいえ。HTTP/2 と HTTP/3 はボディを自分でフレーム化するので、411 は主に HTTP/1.1 の問題です。