请求

作者: winnisz | 来源:发表于2017-03-13 13:51 被阅读0次

    1、把请求头包含在NSURLRequest中,//NSURLRequest 不可变,不能动态的添加请求头信息,NSMutableURLRequest可变,动态添加请求头信息。

    2、构造NSURLRequest参数:url、缓存策略、超时时间(放弃请求)

    3、构造NSURLSessionTask参数:data 返回的数据、response 响应头、error 错误信息

    1、url loading

    NSURLSession与NSURLConnection

    NSURLRequest----NSMutableURLRequest

    NSURLResponse——-NSHTTPURLResponse

    *获取数据到内存

    *以文件形式下载数据

    2、URL加载系统本身支持http,https,文件,ftp和数据协议。c

    在老版本中,使用NSURLConnection去下载URL中的内容到内存中(可以写数据到disk磁盘)。

    在iOS 7之后,NSURLSession更适合URL requests

    &*获取数据到内存

    1、简单的请求,直接使用NSURLSession从NSURL对象检索内容,无论是NSData对象还是一个磁盘文件.

    2、复杂的请求,比如上传数据,使用NSURLSession或者NSURLConnection来加载一个NSURLRequest,或者其子类NSMutableURLRequest.

    1、完成处理的block.当加载URL的类从服务器接收完数据后会调用这个block.

    2、自定义的delegate

    (----------除了数据本身,the URL loading class还提供了与请求相关的封装元数据    -------- the MIME type and content length.)

    &*以文件形式下载数据

    1、简单的请求,直接使用NSURLSession从NSURL对象检索内容,无论是NSData对象还是一个磁盘文件.

    2、复杂的请求,使用NSURLSession加载一个NSURLRequest,或者其子类NSMutableURLRequest。

    (-------------NSURLSession:即使是当应用程序当挂起,退出,闪退时,依然能在后台进行数据下载

    (-------------通过NSURLDownload或者NSURLSession进行的下载是没有缓存的。

    (--------------如果需要缓存下载结果,必须使用NSURLConnection或者NSURLSession,并且由开发者自己将数据写入磁盘

    一个NSURLRequest对象封装了(一个URL、相应的协议信息,指定了本地缓存策略)

    ------NSURLConnection的超时时间

    ------NSURLSession的超时时间-------per-session basis

    一个NSHTTPURLResponse存储了服务器返回的响应头和状态码(the headers and the status code)

    Authentication and Credentials---

    -- NSURLCredential 封装了包含验证信息的凭证、永久性行为

    -- NSURLProtectionSpace代表了一块需要特定凭证的区域

    --NSURLCredentialStorage管理凭证存储、提供NSURLCredential到相应的 NSURLProtectionSpace 的映射

    -- NSURLAuthenticationChallenge用于 NSURLProtocol的子类通知系统那些凭证是需要的

    ---一些服务器会限制访问权限(提供相应的认证信息)Credentials

    ---your app可以使用Credentials去决定,是否信任服务器

    cookies -------URL loading system提供相关接口去(创建、管理、发送、接收cookies)

    ----NSHTTPCookieStorage提供接口管理NSHTTPCookie对象的集合

    cache---------存储在每一个app的 basis中

    --cache由NSURLConnection根据NSURLRequest对象的cache policy 查询

    -- NSURLCache 提供方法去配置cache的大小、存储位置、管理NSCachedURLResponse 对象的集合

    相关文章

      网友评论

          本文标题:请求

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