411 Length Required 表示服务器拒绝接受没有明确 Content-Length 的请求。客户端可以附上有效的 Content-Length 请求头(给出请求体的大小)后重新发送请求。
当 POST 和 PUT 请求以分块传输编码发送请求体,而服务器不接受这种方式时,就会出现 411;既没有请求体、也没有 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 时可能会出现 411:跟随 307 或 308 时,必须重新发送请求体及其长度。
常见原因与使用场景
- HTTP 客户端发送了既没有请求体、也没有
Content-Length: 0的POST。 - 流式上传使用了
Transfer-Encoding: chunked,而服务器或代理要求提供长度。 - 代理删除或改写了
Content-Length请求头。