URL加载系统

作者: mercurygear | 来源:发表于2016-08-15 10:49 被阅读22次

    协议支持

    原生支持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的请求会缓存

    相关文章

      网友评论

        本文标题:URL加载系统

        本文链接:https://www.haomeiwen.com/subject/bctssttx.html