iOS中断点续传的问题

如果我们要实现http断点续传,关键地方就是在httprequest中加入“Range”头。

比如说我们要上传的文件大小是500 bytes。
那么我们应该怎么去写这个断点续传的问题呢!

//设置Range头,值:bytes=x-y;x:开始字节,y:结束字节,不指定则为文件末尾
// 这就是 我们的文件500bytes - 上传的进度 然后当网络连接的时候我们直接从这个位置开始继续上传!
[request addValue:@"bytes=500-" forHTTPHeaderField:@"Range"];
但是我们也会遇到一些不一样的问题,如果我们的服务器支持我们断点续传,那就好办。如果服务器不支持断点续传的话我们就需要另开途径了
下面介绍一下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://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,468评论 6 152
  • 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超...
    保川阅读 4,639评论 2 14
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,254评论 3 82
  • 三月 人间的春天 老家的桃花林已经盛开 现在 阴雨的小城 烟雨氤氲吹乱了那个笑靥
    冰激凌的冬天阅读 164评论 0 0
  • 晚饭后在小区散步,有一对夫妻恰好走在我的旁边,只听那个女人在说: “我有一个朋友特别傻,几年前投资买了一套房,房价...
    胖小兔阅读 260评论 0 1