https://objccn.io/issue-5-4/
https://www.jianshu.com/p/5ec3fa8f8cee
NSURLSession优点
-
可以使用HTTP/2 Server Push功能,客户端上系统自带此功能,不用修改代码
Snip20180419_3.png
Snip20180419_5.png -
Networking statistic 通过设置NSURLSessionTaskDelegate,在代理方法中可以拿到NSURLSessionTaskMetrics对象,从而可以获取网络相关的信息
-
安全性
使用方法
Snip20180419_1.pngNSURLSessionConfiguration作用
- Transport Layer Security(TLS) version
- Prohibit cellular usage是否允许使用蜂窝数据
- Cookie policy
- Cache policy
- Storage objects
- Request and resource timeout
注意点
-
为了提高网络性能,使用的时候避免一个task对应一个session,应该要多个task对应一个session
Snip20180419_2.png
三个具体子类
Snip20181206_1.png当NSURLSessionDataTask完成后,它已关联的数据,而一个NSURLSessionDownloadTask与下载文件的临时文件的路径完成。NSURLSessionUploadTask继承自NSURLSessionDataTask,因为上传的服务器响应通常具有关联数据。所有任务都可以取消,可以暂停和恢复。取消下载任务时,它可以选择创建恢复数据,然后在创建新的下载任务时可以传递该数据,以便从中断的位置进行选择。
主要API
Data task
-dataTaskWithURL: -dataTaskWithRequest:
Upload task
-uploadTaskWithRequest:fromFile: -uploadTaskWithRequest:fromData: -uploadTaskWithStreamedRequest:
Download task
-downloadTaskWithURL: -downloadTaskWithRequest: -downloadTaskWithResumeData:
网友评论