Cookie和Session

2019-08-22  本文已影响0人  lenny611

Cookie:
HTTP1.1引入,为了保存状态信息,保存在本地,发送请求时随请求一起发送,会带来额外的性能开销。
用途:登录信息,浏览器行为;
Cookie又分为会话期Cookie和持久性 Cookie;
会话期 Cookie:浏览器关闭之后它会被自动删除,也就是说它仅在会话期内有效。
持久性 Cookie:指定过期时间(Expires)或有效期(max-age)之后就成为了持久性的 Cookie。

Session:
Session可以将用户信息保存在服务端中,也可以存在数据库或者缓存(Redis)中;

使用 Session 维护用户登录状态的过程如下:
1.用户进行登录时,用户提交包含用户名和密码的表单,放入 HTTP 请求报文中;
2.服务器验证该用户名和密码,如果正确则把用户信息存储到 Redis 中,它在 Redis 中的 Key 称为 Session ID;
3.服务器返回的响应报文的 Set-Cookie 首部字段包含了这个 Session ID,客户端收到响应报文之后将该 Cookie 值存入浏览器中;
4.客户端之后对同一个服务器进行请求时会包含该 Cookie 值,服务器收到之后提取出 Session ID,从 Redis 中取出用户信息,继续之前的业务操作。

上一篇 下一篇

猜你喜欢

热点阅读