content-length怎么算的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了content-length怎么算的相关的知识,希望对你有一定的参考价值。

参考技术A 在HTTP协议中,有Content-Length的详细解读。Content-Length用于描述HTTP消息实体的传输长度the transfer-length of the message-body。在HTTP协议中,消息实体长度和消息实体的传输长度是有区别,比如说gzip压缩下,消息实体长度是压缩前的长度,消息实体的传输长度是gzip压缩后的长度。
在具体的HTTP交互中,客户端是如何获取消息长度的呢,主要基于以下几个规则:
响应为1xx,204,304相应或者head请求,则直接忽视掉消息实体内容。
如果有Transfer-Encoding,则优先采用Transfer-Encoding里面的方法来找到对应的长度。比如说Chunked模式。
“如果head中有Content-Length,那么这个Content-Length既表示实体长度,又表示传输长度。如果实体长度和传输长度不相等(比如说设置了Transfer-Encoding),那么则不能设置Content-Length。如果设置了Transfer-Encoding,那么Content-Length将被忽视”。这句话翻译的优点饶,其实关键就一点:有了Transfer-Encoding,则不能有Content-Length。本回答被提问者采纳

以上是关于content-length怎么算的的主要内容,如果未能解决你的问题,请参考以下文章

content-length 怎么用

sip content-length 怎么计算

怎么设置Http包的Content-Length

服务器提交了协议冲突. Section=ResponseHeader Detail=“Content-Length”标题值无效

Content-Length 标头已存在

如何使 HttpClient 忽略 Content-Length 标头