Content-Range
Content-Range
实体头.用于指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:
Content-Range: bytes (unitSPfirst byte pos) - [last byte pos]/[entity legth]
一般向服务器请求 Range:(unitSPfirst byte pos)-[last byte pos] 服务器才会向客户返回这个头
如向服务器 GET
008-02-21 05:49:47 GET /file.rar HTTP/1.1
2008-02-21 05:49:47 Connection: close
2008-02-21 05:49:47 Host: 116.1.219.219
2008-02-21 05:49:47 Range: bytes=100-300 //意思是下载file.rar的100到300这部分数据
一般正常回应
2008-02-21 05:49:47 Content-Length: 200 //300-200=100,就是要下载的大小
2008-02-21 05:49:47 Content-Type: application/octet-stream
2008-02-21 05:49:47 Content-Range: bytes 123-456/801 //801:文件总大小+1(一般都+1的,我在研究ing)
请求下载整个文件:
GET /file.rar HTTP/1.1
Connection: close
Host: 116.1.219.219
Range: bytes=0-801 //一般请求下载整个文件是bytes=0- 或不用这个头
一般正常回应
HTTP/1.1 200 OK
Content-Length: 801
Content-Type: application/octet-stream
Content-Range: bytes 0-800/801 //801:就是文件总大小,位置是0开始的,而不是从1!!!我的错误所在