前言
原本以为夏天要来了,结果竟是一场倒春寒。这种天气最适合去吃火锅,搞点羊肉、搞点毛肚、再来一瓶小啤酒,日子简直不要太美好了。
正文
之前面试的时候就十分疑惑,cookie和session是啥?又是来干嘛的?
定义
cookie:类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息 session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。
作用
cookie
- 维护客户端和服务端之间会话的状态。由于HTTP请求是无状态的请求,而且服务端不会存储会话信息。因此便需要有一个对象来存储会话信息,记录会话状态,这个对象便是cookie。
session
- 和cookie进行搭配使用,用来记录客户端和服务端之间的会话关系。
上面的时序图展示了session的认证过程。可以看出cookie和session是通过sessionid建立联系的。
区别
- 存储地点不同。cookie存储在客户端,session存储在服务端。因此session的安全性是高月cookie的。
- 存储值的类型不同。cookie只能存储字符串,而session可以存储任意类型的值。
- 失效期不同。cookie可以设置成长期保持。例如:默认登录功能。当我们登录b战和淘宝的时候并不会每次让登录,当你清楚cookie的时候,便需要重新登录。session一般很快就会失效。例如:关闭客户端的时候。
- 存储大小不同。单个cookie的存储一般不超过4KB,但是session存储的数据可以很多,取决于db或者缓存。
结论
其实,Cookie 和Session客户端和服务端建立会话中比较简单的知识点。实际应用中还会有用户鉴权,单点登录等等。业精于勤荒于嬉,让我们吃完火锅继续学习。
|