46-描述Session跟Cookie的区别(重要)

1,存储的位置不同

Session:服务端
Cookie:客户端

存储的数据格式不同

Session:value为对象,Object类型
Cookie:value为字符串,如果我们存储一个对象,这个时候,就需要将对象转换为JSON

存储的数据大小

Session:受服务器内存控制
Cookie:一般来说,最大为4k

生命周期不同

Session:服务器端控制,默认是30分钟,注意,当用户关闭了浏览器,session并不会消失

Cookie:客户端控制,其实是客户端的一个文件,分两种情况
1,默认的是会话级的cookie,这种随着浏览器的关闭而消失,比如保存sessionId的cookie
2,非会话级cookie,通过设置有效期来控制,比如这种“7天免登录”这种功能,
就需要设置有效期,setMaxAge

cookie的其他配置

httpOnly=true:防止客户端的XSS攻击
path=”/“ :访问路径
domain=””:设置cookie的域名

cookie跟session之间的联系

http协议是一种无状态协议,服务器为了记住用户的状态,我们采用的是Session的机制
而Session机制背后的原理是,服务器会自动生成会话级的cookie来保存session的标识,如下图所示:

img