用翻译软件翻译一下URLSession

NSURLSession 协调一组相关网络数据传输任务的对象。

概览

NSURLSession类和相关类提供了一个用于下载内容的API。 该API提供了丰富的代理方法,用于支持身份验证,并使您的应用程序能够在您的应用程序未运行时执行后台下载,或者在iOS中停止应用时执行后台下载。

NSURLSession类本机支持数据,文件,ftphttphttps URL方案,透明支持代理服务器和SOCKS网关,如在用户的系统首选项中配置的。

NSURLSession支持HTTP / 1.1,SPDY和HTTP / 2协议。 HTTP / 2支持由RFC 7540描述,需要支持ALPN或NPN协商协商的服务器。

您还可以使用自己的自定义网络协议和URL方案(为您的应用程序的私人使用)添加支持 NSURLProtocol

重要

NSURLSession API涉及许多不同的类,以相当复杂的方式协同工作,如果您自己阅读参考文档,可能不明显。 在使用此API之前,您应该阅读 URL Session Programming Guide,以获得对这些类如何相互交互的概念性了解。

使用NSURLSession API,您的应用程序会创建一个或多个会话,每个会话协调一组相关的数据传输任务。

例如,如果您正在编写Web浏览器,则应用程序可能会在每个选项卡或窗口中创建一个会话,或者一个会话用于交互式使用,另一个会话用于后台下载。

在每个会话中,您的应用程序会添加一系列任务,每个任务代表一个特定URL的请求(如果需要,将重定向到以后)。

给定URL会话中的任务共享公共会话配置对象,该对象定义了连接行为,例如对单个主机进行的并发连接的最大数量,是否允许通过蜂窝网络进行连接等等。 会话的行为部分地由创建其配置对象时调用哪种方法确定:

单例共享会话(没有配置对象)用于基本请求。它不像您创建的会话那样自定义,但如果您的要求非常有限,它可以作为一个好的起点。您可以通过调用访问此会话
    sharedSession 类方法
    默认会话类似于共享会话(除非您进一步自定义它们),而是可以使用委托逐步获取数据。您可以通过调用创建默认会话配置
    defaultSessionConfiguration 方法
    NSURLSessionConfiguration 类。
    短暂会话类似于默认会话,但不要将缓存,cookie或凭据写入磁盘。您可以通过调用创建短暂会话配置
    ephemeralSessionConfiguration 方法
    NSURLSessionConfiguration 类。
    后台会话允许您在应用程序未运行时在后台执行内容的上传和下载。您可以通过调用来创建后台会话配置
    backgroundSessionConfiguration:方法
    NSURLSessionConfiguration 类。

会话配置对象还包含对根据配置和请求类型进行请求和处理响应时可能使用的URL缓存和Cookie存储对象的引用。

会话中的任务还会共享一个通用委托,允许您在发生各种事件时提供和获取信息,当身份验证失败时,数据从服务器到达,数据准备好被缓存时,等等。 对于所有后台下载和上传,您必须提供一个符合的代理
NSURLSessionDownloadDelegate
Objective-C协议。 否则,如果您不需要代理提供的任何功能,则可以在创建会话时通过传递nil来使用此API而不提供委托。

重要

会话对象保持对代理的强烈引用,直到您的应用程序退出或显式地使会话无效。 如果您不使会话无效,则您的应用程序会在内存中泄漏,直到它退出。

你可能感兴趣的:(用翻译软件翻译一下URLSession)