URL加载系统
与URL交互并使用标准Internet协议与服务器通信。
骨架
- 基础
在本页面
概观
URL加载系统使用https
您创建的标准协议或自定义协议提供对URL标识的资源的访问。加载是异步执行的,因此您的应用程序可以保持响应并在到达时处理传入的数据或错误。
您可以使用URLSession
实例创建一个或多个实例,这些实例可以获取数据并将数据返回到应用程序,下载文件或将数据和文件上载到远程位置。要配置会话,请使用一个对象,该对象控制如何使用缓存和cookie的行为,或者是否允许在蜂窝网络上进行连接。URLSessionTask
URLSessionConfiguration
您可以重复使用一个会话来创建任务。例如,Web浏览器可能具有用于常规和私人浏览使用的单独会话,其中私有会话不缓存其数据。图1显示了具有这些配置的两个会话如何创建多个任务。
图1
从URL会话创建任务
每个会话都与一个委托相关联,以接收定期更新(或错误)。默认委托调用您提供的完成处理程序块; 如果您选择提供自己的自定义委托,则不会调用此块。
您可以将会话配置为在后台运行,以便在应用程序暂停时,系统可以代表它下载数据并唤醒应用程序以提供结果。
话题
第一步
配置和创建会话,然后使用它们创建与URL交互的任务。
将网站数据提取到内存中
通过从URL会话创建数据任务将数据直接接收到内存中。
将数据上传到网站
将数据从您的应用发布到服务器。
在后台下载文件
创建在应用处于非活动状态时下载文件的任务。
1 | class URLSession |
协调一组相关网络数据传输任务的对象。
1 | class URLSessionConfiguration |
用于定义URL会话的行为和策略的配置对象。
1 | class URLSessionTask |
在URL会话中执行的任务,如下载特定资源。
请求和回复
1 | struct URLRequest |
一个独立于协议或URL方案的URL加载请求。
1 | class URLResponse |
与URL加载请求的响应关联的元数据,与协议和URL方案无关。
1 | class HTTPURLResponse |
与HTTP协议URL加载请求的响应关联的元数据。
缓存行为
访问缓存数据
控制URL请求如何使用以前缓存的数据。
1 | class CachedURLResponse |
对URL请求的缓存响应。
1 | class URLCache |
将URL请求映射到缓存的响应对象的对象。
身份验证和凭据
处理身份验证挑战
当服务器要求对URL请求进行身份验证时,适当地做出响应。
1 | class URLAuthenticationChallenge |
来自需要客户端身份验证的服务器的挑战。
1 | class URLCredential |
A
n身份验证凭据,包括特定于凭证类型的信息和要使用的持久性存储的类型(如果有)。
1 | class URLCredentialStorage |
共享凭证缓存的管理员。
1 | class URLProtectionSpace |
服务器或服务器上的区域,通常称为域,需要身份验证。
饼干
1 | class HTTPCookie |
HTTP cookie的表示。
1 | class HTTPCookieStorage |
管理cookie存储的容器。
错误
1 | struct URLError |
URL加载API返回的错误代码。
URL加载系统错误信息键
从URL加载API生成的错误对象的用户信息字典中识别这些键。
遗产
旧版URL加载系统
将代码迁移远离使用这些旧对象。
也可以看看
联网
你好
通过广告服务在本地网络上轻松发现,或发现其他人宣传的服务。