http断点续传原理:http头 Range、Content-Range
2015-10-28 17:55
573 查看
所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的 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:文件总大小
相关文章推荐
- 基于tcpdump实例讲解TCP/IP协议
- Linux上快速启动一个HTTP server
- 复习URLHttpConnection方式GET,POST方式链接网络解析uri
- 网络端口cmd命令
- C# HttpWebRequest与HttpWebResponse详解
- Android实现网络多线程文件下载
- http状态码304的介绍
- angularJS 循环调用$http 服务直到成功
- HTTP协议及缓存
- 分享一个TCP状态变迁图
- 网络编程(8)
- Java Socket现实简单的HTTP服务
- HTTP地址的规范
- CentOS6.5下网络启动服务器安装和配置方法(pxe+tftp+dhcpd+kickstart)
- 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求
- Java发送HTTP的POST请求
- linux下的抓包工具tcpdump
- 计算机网络之初步认识
- QQ旋风/迅雷/快车地址/HTTP地址 转换
- iOS —— HTTPS 问题