断点续传下载时http请求
来源:互联网 发布:施工预算软件下载 编辑:程序博客网 时间:2024/06/05 06:51
断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。注:需要web容器的支持,现在绝大多数都支持此项
以例子说明断点续传。
例如使用本地的服务器127.0.0.1,文件名为data.zip。下载该文件所发出的头信息如下:
在服务器端接收到请求后,会按要求寻找请求的文件,并提取文件的信息,然后返回给浏览器,返回信息如下:
断点续传,就是要将文件从已经下载的地方开始,继续下载。所在客户端在发给服务器的信息中,要指明下载开始的地方。
下面是用自己模拟一个"浏览器"来传递请求信息给Web服务器,要求从20120828字节开始。
请仔细查看一下,就会发现上面多了一行RANGE: bytes=20120828- 的信息
这一行的意思是告诉服务器下载data.zip这个文件从20120828字节开始传,前面的字节就不需要用传了。
服务器收到这个请求以后,返回的信息如下:
和前面服务器返回的信息比较一下,就会发现增加了一行:
返回的代码也改为206了,而不再是200了。
知道了以上原理,就可以进行断点续传的编程了。
以例子说明断点续传。
例如使用本地的服务器127.0.0.1,文件名为data.zip。下载该文件所发出的头信息如下:
GET /data.zip HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */* Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Connection: Keep-Alive
在服务器端接收到请求后,会按要求寻找请求的文件,并提取文件的信息,然后返回给浏览器,返回信息如下:
200 Content-Length=105555555 Accept-Ranges=bytes Date=Sun, 28 Aug 2012 10:56:16 GMT ETag=W/"031a54e173c11:df5" Content-Type=application/octet-stream Server=Apache/1.3.14(Unix)Last-Modified= Sun, 28 Aug 2012 10:56:16 GMT
断点续传,就是要将文件从已经下载的地方开始,继续下载。所在客户端在发给服务器的信息中,要指明下载开始的地方。
下面是用自己模拟一个"浏览器"来传递请求信息给Web服务器,要求从20120828字节开始。
GET /data.zip HTTP/1.0 User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)RANGE: bytes=20120828-
请仔细查看一下,就会发现上面多了一行RANGE: bytes=20120828- 的信息
这一行的意思是告诉服务器下载data.zip这个文件从20120828字节开始传,前面的字节就不需要用传了。
服务器收到这个请求以后,返回的信息如下:
206 Content-Length=105555555Content-Range=bytes 20120828-105555554/105555555Date= Sun, 28 Aug 2012 11:04:18 GMT ETag=W/"031a54e173c11:df5" Content-Type=application/octet-stream Server=Apache/1.3.14(Unix) Last-Modified= Sun, 28 Aug 2012 10:56:16 GMT
和前面服务器返回的信息比较一下,就会发现增加了一行:
Content-Range=bytes 20120828-10555554/10555555
返回的代码也改为206了,而不再是200了。
知道了以上原理,就可以进行断点续传的编程了。
- 断点续传下载时http请求
- Qt 之 HTTP 请求下载(支持断点续传)
- Qt 之 HTTP 请求下载(支持断点续传)
- Qt 之 HTTP 请求下载(支持断点续传)
- Qt 之 HTTP 请求下载(支持断点续传)
- Http断点续传下载
- 断点续传下载文件 http
- HTTP断点续传下载的原理
- http下载原理/断点续传方法
- C# Http多线程下载、断点续传
- Http/FTP多线程断点续传下载
- Java Http断点续传(下载)
- 断点续传的原理在Http的请求上和一般的下载有所不同而已
- java设置HTTP协议请求(实现断点续传)
- ASIHttpRequest:创建队列、下载请求、断点续传、解压缩
- ASIHttpRequest:创建队列、下载请求、断点续传、解压缩
- ASIHttpRequest:创建队列、下载请求、断点续传、解压缩
- ASIHttpRequest:创建队列、下载请求、断点续传、解压缩
- [转载] 在程序中使用DataTable对象
- 常用工具网址
- 整数因子分解的Pollard-rho方法
- python类的语法
- 填报报表
- 断点续传下载时http请求
- 关于QTableWidget插入数据库数据很慢的原因
- Java中的Json解析
- 前端代码标准最佳实践:HTML篇
- NoClassDefFoundError: org/slf4j/LoggerFactory和NoClassDefFoundError: org/apache/log4j/LogManager解决方法
- 移动处理器也疯狂,Google“亲儿子”Nexus 7爆超2GHz
- Hello World @ Cloud Foundry
- 在django中,使用jquery ajax post数据,会出现403的错误
- 通信协议——Http、TCP、UDP