博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http断点续传
阅读量:7172 次
发布时间:2019-06-29

本文共 1315 字,大约阅读时间需要 4 分钟。

断点续传

从下载断开的位置,继续下载,直到下载完整

四个必须的HTTP头域

  • Range

    用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式:
    Range:(unit=first byte pos)-[last byte pos]
    Range : bytes=50- 从第50个字节开始到最后一个字节
    Range : bytes=-70 最后的70个字节
    Range : bytes=50-100 从第50字节到100字节

  • Content-Range

    用于响应头,指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:
    Content-Range: bytes (unit first byte pos) - [last byte pos]/[entity legth]

  • Accept-Ranges

    Accept-Ranges:bytes // 告诉客户端支持断点传输

  • Content-Length
    内容长度

HTTP返回码

200 OK(一切正常)206 Partial Content(服务器已经成功处理了部分内容)416  Requested Range Not Satisfiable 对方(客户端)发来的Range 请求头不合理

实例1

请求:

GET /123.zip HTTP/1.1

响应:

HTTP/1.1 200 OK Accept-Ranges : bytes   //告诉客户端支持断点传输Content-Length : 1900 //文件总大小 Content-Type : image/jpeg //文件类型

中间停止下载,重新发起请求

请求:

GET /123.zip HTTP/1.1     Range:bytes=580-

响应:

HTTP/1.1 206 Partial ContentAccept-Ranges : bytesContent-Type : image/jpeg //文件类型Content-Length : (1900 - 580) //长度则不是总长度了,而580到1900共有多少字节。Content-Range :bytes 580-(1900-1 ) / 1900   //因为到了文件总大小了,所以指定范围永远不能超过等于总大小;但是到了最后一个字节必须输出出去,完全是写法问题。

实例2

请求:

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:文件总大小

转载于:https://blog.51cto.com/12880687/2085084

你可能感兴趣的文章
LightOJ 1422 Halloween Costumes
查看>>
GOOGLE卫星地图URL中的Tile位置编码算法
查看>>
python3中如何区分一个函数和方法
查看>>
文件I/O操作函数 lseek()
查看>>
datepicker使用
查看>>
关于纠正《Hive权威指南》中的结论~“hive在使用set自定义变量时,hivevar命名空间是可选的”~的论证...
查看>>
移动端遇到的问题小结--video
查看>>
【算法学习笔记】02.wikioi1205 单词翻转
查看>>
Codeforces Round #304 (Div.2)
查看>>
查看mysql binlog日志
查看>>
VMware虚拟机和主机(macOS)联网的解决方案
查看>>
nginx+awstats安装过程
查看>>
npm install --save 与 npm install --save-dev 的区别
查看>>
IE8 兼容CSS3 rgba属性
查看>>
Hadoop HA和Hbase HA
查看>>
java.lang包中异常
查看>>
C# For Bot Framework
查看>>
react native 增加react-native-camera
查看>>
陶哲轩实分析 习题 13.4.8
查看>>
ListView图标大小的设置
查看>>