iOS之Cookie使用


简介

  • 概念:Cookie中文名称叫做“小型文本文件”,指某些网站为了辨别用户身份而存储在用户本地终端上的数据(通常经过加 密)。 Web服务器可以用过Set-Cookie或者Set-Cookie2 HTTP头部设置Cookie.
  • 分类:Cokkie总是保存在客户端中,按在客户端中存储的位置,可分为:
  • 内存Cookie:内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。
  • 硬盘Cookie:硬盘Cookie保存在硬盘里面,有一个过期时间,除非用户手工清理或者到了过期时间,硬盘Cookie不会被清除,其存在时间是长期的。所有按照存在时间,分为非持久Cookie和持久Cookie。
  • 用途:
  • 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的时间,有了Cookie,服务器可以设置或者读取Cookie中包含的信息,借此维护用户跟踪服务器会话中的状态。
  • 另一种用途就是当我们登录一个网站的时候经常会勾选“下次自动登录”,那么下次就可以不用登录了。其实就是第一次登录时,服务器发送了包含登录凭据的Cookie到用户的硬盘上。第二次登录的时候(如果Cookie没有到期)浏览器会发送该Cookie,服务器验证凭据,因此不用输入用户名和密码就可以让用户登录了。
  • 缺陷
  • Cookie会被附加在每个HTTP请求中,所以无形中增加了流量
  • HTTP请求Cookie是明文传递,安全性无法保障
  • Cookie大小有限制,一般是4kb左右
  • Cookies的替代品
    我们可以在与服务器传输数据的时候,在地址后面拼接一个唯一的查询串,让服务器识别是否合法用户