why(背景):
HTTP 原本为无状态。后来随着web的兴起,纯浏览的能力,不能满足需求了。例如:网购的兴起,需要记录用户的购物车记录。于是就有了Cookie和session的诞生。
what:
Cookie:类型为“小型文本文件”。为了辨别用户身份,进行 Session 跟踪而储存在用户本地终端上的数据(通常经过加密)。由用户客户端计算机暂时或永久保存的信息 。
session:服务器把客户端信息以某种形式记录在服务器上,这就是Session。
demo:
- 首先用户登录,server 会为用户生成一个 session,为其分配唯一的 sessionId,这个 sessionId 是与某个用户绑定的,也就是说根据此 sessionid(假设为 abc) 可以查询到它到底是哪个用户,然后将此 sessionid 通过 cookie 传给浏览器
- 之后浏览器的每次添加购物车请求中只要在 cookie 里带上 sessionId=abc 这一个键值对即可,server 根据 sessionId 找到它对应的用户后,把传过来的商品 id 保存到 server 中对应用户的购物车即可