cookie那些事(1)基础

cookie是什么呢?

不不不,我说的cookie是这个

下面就详细介绍下这个web世界中不可缺少的一个元素

1. cookie的产生

cookie是什么呢?wikipedia上面的定义这么写:

Cookie(复数形态Cookies),中文名称为“小型文本文件”或“小甜饼”[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。定义于RFC2109。是网景公司的前雇员卢·蒙特利在1993年3月的发明[2]。

从这段话可以知道cookie 的一个最大的特征就是存储在 客户端
而它的主要作用是 身份识别

对HTTP协议有一定了解的朋友们应该知道,HTTP协议是一种 无状态 协议,何谓无状态?就是这一次请求,和上一次,下一次请求之间相互完全独立。

现在的很多网站都需要有登录功能,如果单纯用HTTP来识别,由于其无状态的性质,不能说这一个请求进行过身份认证了,下一条就不进行了。因此,每一次请求都要进行一次身份认证,而每加载一个页面,就会有十几甚至几十条的http请求,反复的进行身份验证对于资源的消耗十分的大,因此产生了cookie来解决这个问题

2.cookie的作用方法

  • 第一步 完成(如用户名密码方式的)身份验证,服务端在给客户端的response中加入设置cookie的信息
  • 第二步 客户端浏览器把cookie储存在本地
  • 第三步 客户端在每次发送请求的时候,将cookie加在请求的header中
  • 第四步 (有需要时)重复第三步,知道浏览器将cookie清除或者cookie自动过期

3.cookie的设置与传输

设置

cookie的设置,是通过response中的一个名为set-cookie的header实现的,传输的方式是map (key-value pair键值对,也称作关联数组,哈希表)

cookie的传递,是每次浏览器发到服务端的request的header中,也是以键值方式传递

4.用cookie实现持续的身份验证

cookie的一大作用就是用来实现持续的身份验证,登录一次,保持一段时间的在线状态。
实现的方法是服务器端使用session用户对应的session变量存储在服务端,将一个与,而将session的id,也是对应唯一的身份识别码,存储在cookie中,每一个sessionid对应唯一的登录用户。

你可能感兴趣的:(cookie那些事(1)基础)