iOS断点续传

1、http实现断点续传的关键地方就是在httprequest中加入“Range”头。

//设置Range头,值:bytes=x-y;x:开始字节,y:结束字节,不指定则为文件末尾

[request addValue:@"bytes=500-" forHTTPHeaderField:@"Range"];

如果服务器正确响应的话,就可以顺利续传;如果服务器不支持,就只能用其它方法了。

2、Range头域

Range头域可以请求实体的一个或者多个子范围。例如,

表示头500个字节:bytes=0-499

表示第二个500字节:bytes=500-999

表示最后500个字节:bytes=-500

表示500字节以后的范围:bytes=500-

第一个和最后一个字节:bytes=0-0,-1

同时指定几个范围:bytes=500-600,601-999

但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200(OK)。

注意:如果用户的请求中含有range ,则服务器的相应代码为206。

206 - Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。


参考链接:http://longminxiang.blog.163.com/blog/static/5933298520137933235997/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容