所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的 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:文件总大小
If-Range = “If-Range” “:” ( entity-tag | HTTP-date )
IF-Range头部需配合Range,如果没有Range参数,则If-Range会被视为无效。
如 果If-Range匹配上,那么客户端已经存在的部分是有效的,服务器将返回缺失部分,也就是Range里指定的,然后返回206(Partial content),否则证明客户端的部分已无效(可能已经更改),那么服务器将整个实体内容全部返回给客户端,同时返回200OK
1. 如果不满足If-None-Match,也就是任何一个Etag匹配了,那服务器就不会产生该请求的响应(412返回)。除非判断其它条件如If- Modified-Since不成立(也就是since的时间后内容没有更改),那server根据不同的请求方式发出不同的响应头,如果是GET或 HEAD请求,这种情况就要响应304 Not modified,顺便带上cache相关的头信息,特别是匹配上的Etag; 如果是其它请求方式,那就响应412Precondition Failed了
2.如果If-None-Match成立,也就是一个Etag也没匹配,那服务器会忽略任何其它诸如If-Modified-Since的条件,就不能再产生304的响应头了
相关推荐
HTTP断点续传原理,另附上AS3+Flash Player+AIR制作的一个断点续传小程序源码
使用HTTP 协议中的断点续传功能传输文件,用java中的HttpURLConnection 进行开发
http 断点续传演示
主要断网、断电,等回复之后继续下载,效果很不错的,
相信新颖网络HTTP断点续传控件能够帮助您赢利市场。 版权所有 2009-2012 北京新颖网络 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/http-uploader3/index.aspx 在线演示...
java中http断点续传的原理
用 Java 实现断点续传 (HTTP),内容有: 断点续传的原理, Java 实现断点续传的关键几点, 断点续传内核的实现等。
HTTP断点续传和多线程下载,支持HTTP协议的断点续传和多通道下载
易语言HTTP断点续传源码.rar
JAVA实现HTTP断点续传[借鉴].pdf
android sdk 3.0 测试通过
易语言http断点续传源码,http断点续传,下载子程序,进度显示,HTTP进度下载,InternetGetConnectedState,InternetOpenA,InternetOpenUrlA,HttpQueryInfoA,InternetCloseHandle,InternetReadFile,CallWindowProcA
开发环境vs2008,语言C#,WinForm实现http下断点续传文件
http断点续传.rar
原理: ...2. 获得文件大小ftell, 格式化HTTP请求头 "Range: bytes=ftell -", 以偏移httpfile指针,实现断点续传 3. 获得要下载的文件,以二进制形式传输,OpenURL 4. 接收数据,防止阻塞PeekMessage
HTTP断点续传,文件下载 断点续传 简单实用
仿迅雷的多线程HTTP断点续传下载 (源码)
...现在大部分的用户有文件批量上传的需求,希望只通过点击一次鼠标就...相信新颖网络HTTP断点续传控件能够帮助您赢利市场。 产品介绍:[url=http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html][/url]
单线程断点续传,支持2G以上大文件,用它下载过完美世界的3G多的客户端。可下载文件名中含连续数字变化的多个文件。默认url是17173上吴艳樱的照片。当下载速率低于设定值时重新连接,因盛大永恒之塔客户端下载时速率...