多线程断点下载开发总结(一) - Http head Range标记

    很久之前用DotNet 做了一个多线程的断点下载工具,今天突然需要用到一些东西,竟然一时想不起了,翻了翻源码,这里简单总结一下。

    断点下载 的基本协议采用的是Http 下载,那么服务器如何响应断点请求一个完整文件的部分数据呢,这里需要用到 Http 协议头 的 Range标记,客户端发起请求的时候加上 Range标记 例如,Range:bytes=0-128 ,表示请求的文件的第1个到128个字节的数据,这时候服务器响应下载时会返回 Http 响应头:Content-Range:  bytes  0-128/200 ,这里200是文件的总大小。下面是一个请求响应头的详细说明。

请求下载整个文件: 
GET  /file.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

注意:如果用户的请求中含有range ,则服务器的相应代码为206。
206 - Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。

转载于:https://my.oschina.net/congqian/blog/134344

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>