协议支持
原生支持http、https、ftp、file和data几种协议,但是也可以注册自己的类来支持应用层面的自定义协议
工作流
NSURL | | block | file
NSURLRequest | NSURLSession | delegate | NSData
- NSMutableURLRequest | | (with NSURLResponse) |
NSURLCache:管理NSCachedURLResponse
NSHTTPCookieStorage:管理HSHTTPCookie
特性
- 可以进行后台下载,即使此时app被挂起或者已终止或者已崩溃了
- 以每个session为基础进行timeout的设定
注意事项
- 使用NSMutableURLRequest只是可以在连接发起前可以变更URL request的内容,一旦发起连接,那么request会被进行一个深拷贝,此后再去修改NSMutableURLRequest也是没有任何效果了
- 服务器的响应分为两块:内容数据和描述内容数据的metadata;而NSURLResponse只存有其中的metadata部分
缓存
- cache是基于app,是一个硬盘和内存都有的复合存储
- NSURLCache提供了配置缓存大小和存储位置的方法,同时管理NSCachedURLResponse集合
- NSCachedURLResponse包含NSURLResponse和content data
- 默认只有http和https的请求会缓存
网友评论