美文网首页
HTTP断点续传原理: Range & Content-Rang

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

作者: markchan | 来源:发表于2016-08-29 17:39 被阅读0次

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

    相关文章

      网友评论

          本文标题:HTTP断点续传原理: Range & Content-Rang

          本文链接:https://www.haomeiwen.com/subject/hscbsttx.html