1、Cookie 是什么?
答:指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据。从定义上得出,Cookie实际上是指小量信息,是由 Web 服务器创建的,将信息存储在用户计算机上的文件。
2、Cookie 有什么作用?
答:从第一问的回答中,我们就可以知道Cookie的作用。Cookie 的作用是:为了辨别用户身份、进行Session 跟踪。
3、Cookie的限制?
答:一个网页能创建的Cookie 数量最多为 300 个,并且每个不能超过 4KB,每个 Web 站点能设置的 Cookie 总数不能超过 20 个。
4、Cookie的原理
答:Cookie”是小量信息,由服务器发送出来以存储在网络浏览器上,从而下次这位独一无二的访客又回到该网络服务器时,可从该浏览器读回此信息。
5、Cookie 的生命有多长?
答:Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。注意:对于IOS客户端Cookie的生命周期是:IOS的Cookie是在网页产生而产生,并缓存到内存中。当App关闭时,App产生的内存就会被释放。所以Cookie 就也被清楚。
第二:与Cookie相关的类。
NSHTTPCookieStorage 和 NSHTTPCookie 。这两个类的作用分别是:NSHTTPCookieStorage 是网页产生的cookie的管理器,它控制Cookie的一些基本操作。NSHTTPCookie是Cookie的使用对象,通过这个对象我们可以获取与Cookie相关的信息。
第三:NSHTTPCookieStorage 与 NSHTTPCookie 两个类的介绍。
1、NSHTTPCookie 介绍。
1》NSHTTPCookie 继承与NSObject ,拥有一个NSHTTPCookieInternal类型的私有变量_cookiePrivate。NSHTTPCookieInternal 这个类在静态库中查找不到,网上收索没有使用记录。
2》Cookie的创建有两个方法,如下:
1)实例方法:
- (nullable instancetype)initWithProperties:(NSDictionary<NSHTTPCookiePropertyKey, id> *)properties;
2)类方法:
+ (nullable NSHTTPCookie *)cookieWithProperties:(NSDictionary<NSHTTPCookiePropertyKey, id> *)properties;
知识扩展:
+ (NSDictionary<NSString *, NSString *> *)requestHeaderFieldsWithCookies:(NSArray<NSHTTPCookie *> *)cookies;