版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.03.13 |
前言
回顾
上一篇主要讲述关于获取缓存方面的理解,这一篇我们主要看一下关于Cookies和自定义协议。
Cookie Storage - Cookies存储
由于HTTP协议的无状态特性,客户端通常使用cookie来提供跨URL请求的持久数据存储。 URL加载系统提供接口来创建和管理cookie,发送cookie作为HTTP请求的一部分,并在解释web服务器的响应时接收cookie。
iOS注意:Cookie不在iOS中的应用程序之间共享。
注意:更改应用中的Cookie接受政策会影响所有其他正在运行的应用的Cookie接受政策。
Protocol Support - 协议支持
您可以通过继承NSURLProtocol
来实现自定义协议,然后使用NSURLProtocol
类方法registerClass:
通过URL加载系统注册新类。当NSURLSession对象为NSURLRequest对象启动连接时,URL加载系统会按照注册的相反顺序查询每个注册类。第一个为canInitWithRequest:
消息返回YES的类用于处理请求。
如果您的自定义协议需要其请求或响应的附加属性,则可以通过在NSURLRequest,NSMutableURLRequest和NSURLResponse
类中为这些属性提供访问器来创建类别来支持它们。NSURLProtocol
类提供了在这些访问器中设置和获取属性值的方法。
URL加载系统负责在连接启动并完成时创建和释放NSURLProtocol
实例。您的应用程序绝不应直接创建NSURLProtocol
实例。
当一个NSURLProtocol
子类由URL加载系统初始化时,它提供了一个遵循NSURLProtocolClient
协议的客户端对象。 NSURLProtocol子类将消息从NSURLProtocolClient
协议发送到客户端对象,以便在创建响应,接收数据,重定向到新URL,需要身份验证并完成加载时向URL加载系统通知其操作。如果自定义协议支持认证,那么它必须符合NSURLAuthenticationChallengeSender
协议。
后记
本篇主要说明关于Cookies和自定义协议,喜欢的给点个赞和关注下。