- NSURLRequest 代表一个请求,包括请求头,请求体,统一资源定位符,超时时间
- NSURLConnection 或 NSURLSession 用来建立客户端和服务端的链接
-
NSURLConnection 通过设置请求头 Range 字段来断点续传下载的
NSString *range = [NSString stringWithFormat:@"bytes=%lld-", self.currentLength]; [request setValue:range forHTTPHeaderField:@"Range"];
-
NSURLSession 通过 resumeData 实现断点续传下载的
如果要实现断点续传功能的话,首先要调用方法 __weak typeof (self)weakSelf = self; [self.downloadTask cancelByProducingResumeData:^(NSData * _Nullable resumeData) { weakSelf.downloadData = resumeData; }]; downloadData是我创建的全局变量,用来保存中断的数据, 接着需要使用方法 self.downloadTask = [self.session downloadTaskWithResumeData:self.downloadData]; [self.downloadTask resume]; 来重新开启下载任务
- Http 协议就是一个服务器传输超文本到到本地浏览器的应用层协议。由最初的 html 超文本,到现在支持 text/json,xml 等格式。