我正在与 IIS Web 服务器建立 HTTP 连接,并发送一个 POST 请求,其中包含使用 Transfer-Encoding: chunked 编码的数据。当我这样做时,IIS 只是关闭连接,没有错误消息或状态代码。根据HTTP 1.1 规范,
所有 HTTP/1.1 应用程序必须能够接收和解码“分块”传输编码
所以我不明白为什么它(a)不处理该编码和(b)它不发回状态码。如果我将请求更改为发送 Content-Length 而不是 Transfer-Encoding,则查询会成功,但这并不总是可能的。
当我对 Apache 尝试相同的操作时,我得到一个“需要 411 长度”状态和一条消息说“禁止分块传输编码”。
为什么这些服务器不支持这种编码?