HTTP断点续传原理: Range & Content-Range

所谓断点续传, 也就是要从文件已经下载的地方开始继续下载. 在以前版本的 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: 文件总大小

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超...
    保川阅读 10,084评论 2 14
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,710评论 6 152
  • 1.断点续传就是要从文件已经下载的地方开始继续下载。在以前版本的 HTTP 协议是不支持断点的,HTTP/1.1 ...
    iOS白水阅读 4,498评论 0 1
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 10,626评论 3 82
  • 风起云涌胆气存
    小朙有画说阅读 1,603评论 0 1

友情链接更多精彩内容