含义
服务器要求提供 Content-Length 头,但请求中没有。
常见原因
- 向不接受分块编码的服务器进行分块上传
- 客户端库在不提供长度的情况下流式发送请求体
- POST 没有请求体也没有 Content-Length: 0
解决方法
客户端或访问者
发送 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 的问题。