HTTP标头内容范围和范围之间有什么区别?应该何时使用?
我正在尝试从特定字节偏移量流式传输音频文件。我应该使用Content-Range还是Range标题?
由于
答案 0 :(得分:123)
实际上,接受的答案并不完整。 Content-Range不仅用于响应。在提供实体机构的请求中也是合法的。
例如,HTTP PUT提供实体主体,它可能只提供实体的一部分。因此,PUT请求可以包括Content-Range标头,该标头向服务器指示应该将部分实体主体合并到实体中。
例如,让我们首先使用HTTP创建然后附加到文件:
请求1:
PUT /file HTTP/1.1
Host: server
Content-Length: 1
a
请求2:
PUT /file HTTP/1.1
Host: server
Content-Range: bytes 1-2/*
Content-Length: 1
a
如何,让我们看看文件的内容......
请求3:
GET /file HTTP/1.1
Host: server
HTTP/1.1 200 OK
Content-Length: 2
aa
这允许随机文件访问,包括HTTP上的READING和WRITING。我只是想澄清一下,因为我正在研究在我正在开发的WebDAV客户端中使用Content-Range,所以这些扩展的信息可能对其他人有用。
答案 1 :(得分:76)
Range来请求特定范围(或范围)的字节。响应中使用Content-Range来指示服务器为您提供的字节数(可能与您请求的范围不同),以及整个内容的长度(如果已知)。