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!!!我的错误所在

posted on 2011-05-25 16:41  hotty  阅读(2642)  评论(0编辑  收藏  举报