PS:创作不易,感谢阅读,希望对读者有所协助,喜爱的话可以点赞、收藏、关注,作者会持续更新 Java 生态圈常见知识。黑色加粗为重点关注内容!
- 背景描述
- 用户登录一个网站时,常常使用 Cookie 和 Session 来实现用户登录状态的保持,以提高用户的体验
- 实现原理
- 当服务端第一次收到客户端的请求时,会创建 Session 对象,并生成一个 SessionId,然后将 SessionId 包装到响应头的 Cookie 中,返回给客户端的前端浏览器
- 浏览器在本地保存 Cookie;
- 当客户端再次请求服务端时,会带上浏览器本地保存的 Cookie;
- 服务端再次接受到请求后,获取 Cookie 中的 SessionId,并与之前生成的 SessionId 比较
- 若发现 SessionId 一样,则认为是同一个用户再次访问,从而实现用户登录状态的保持。
- Cookie 和 Session 的本质区别
- Cookie 和 Session 都是基于键值对的字符串;
- Cookie 相当于明文,Session 类似于密文,由服务端经过编码后的一段无序字符串。
- 两者都是由服务端生成的;
- Cookie 保存在客户端浏览器中,而 Session 的 Session_id 保存在 Cookie 中,Session_data 保存在服务端,所以 Session 比 Cookie 更安全;
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END


















暂无评论内容