http断点续传原理:http头 Range、Content-Range
2016-04-07 23:30
309 查看
所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的 HTTP 协议是不支持断点的,HTTP/1.1 开始就支持了。一般断点下载时才用到 Range 和 Content-Range 实体头。
Range
用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式:
Range:(unit=first byte pos)-[last byte pos]
Content-Range
用于响应头,指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:
Content-Range: bytes (unit first byte pos) - [last byte pos]/[entity legth]
请求下载整个文件:
GET /test.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:文件总大小
Range
用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式:
Range:(unit=first byte pos)-[last byte pos]
Content-Range
用于响应头,指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:
Content-Range: bytes (unit first byte pos) - [last byte pos]/[entity legth]
请求下载整个文件:
GET /test.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:文件总大小
相关文章推荐
- 检测网络变化(wifi、2g、3g、4g)
- 网络:XML 解析(使用GDataXMLNode第三方框架)
- 七月算法机器学习笔记10 人工神经网络
- 关于getAllNetworkInfo()无法调用问题
- Https握手过程
- http://www.pccppc.com/
- vc实现http文件下载
- 网络:XML解析(界面搭建)
- TCP 三次握手
- (Caffe,LeNet)初始化训练网络(三)
- "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 开源网络准入系统(open source Network Access Control system)
- (Caffe,LeNet)网络训练流程(二)
- 用python模拟TCP 服务器跟 TCP连接
- linux内核网络接收数据流程图【转】
- org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'PUT' not supported
- 网络数据传输的安全基础
- 网络编程入门学习资料
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- Http下载Demo