您的当前位置:首页正文

详细解析几个和网络请求有关的类(十一) —— Cookies和自

来源:华佗小知识

版本记录

版本号 时间
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和自定义协议,喜欢的给点个赞和关注下。