HTTP/1.1中的Content-Length和Byte Ranges之间有什么关系?

17
我不太理解HTTP 1.1规定的内容长度和字节范围背后的想法。这两者之间是否存在某种联系?如果客户端按字节范围请求,比如说在200个字节中请求0-100个字节,那么第一个响应是否包含"content-length"等于100字节,然后是实际的100个数据?谢谢。
1个回答

35

内容长度实体头部字段指示发送给接收者的实体主体的大小。[...]

在非多部分消息中,实体主体是HTTP消息的主体,因为它只包含一个实体。因此,Content-Length值指示发送的消息正文的长度,而不是整个资源的大小。

因此,在0-100 字节范围请求(包括第一个字节和最后一个字节)的部分内容响应中,响应的Content-Length将为0 ≤ size ≤ 101。

对于一个长度为12345字节的资源,响应可能如下所示:

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-100/12345
Content-Length: 101

… 101 bytes of content …

1
谢谢你澄清了这个问题。之前很困惑,你写的HTTP响应解决了我的疑问! - user349026
帮我解决了问题。Android MediaPlayer 给出了错误的持续时间,非常感谢。 - frostymarvelous

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接