session和cookie用法和区别
2018-07-28 本文已影响0人
嘻洋洋
1两者区别
- 存储位置
cookie数据存放在客户的浏览器上,session数据放在服务器上。 - 对服务器的影响
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。 - 对客户端的影响
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 - 过期时间的开始计时
Session未被访问开始计时,一旦被访问,计时清0。
cookie是从cookie文件生成开始计时。
2两者关系
每个用户访问服务器都会建立一个session,服务器需要标识用户的唯一身份,这时候session就要借助cookie。
- 用户与服务器建立连接的同时,服务器会自动为其分配一个SessionId(身份)。
- 用户每次请求都要把SessionId(身份)自动带到服务器进行身份验证。
- 通过把SessionId存放cookie中,浏览器会将用户的SessionId自动附加在HTTP头信息中。
- 当服务器处理根据SessionId找到所对应的用户。
3cookies 使用流程
- 服务器创建cookie,向客户端发送cookie。
- 浏览器接受cookie并将cookie保存。
- 每次http请求浏览器都会将cookie发送给服务器端
客户端的cookie存储和发送都有浏览器自动完成。
4cookie在客户端创建
如果客户端不是浏览器的,那么cookie的创建,存储,发送可以通过JS操作控制。比如微信小程序,app客户端等。