Cookie与Session

2019-03-18  本文已影响0人  旦暮何枯

会话

会话是一种持久网络协议,在用户(或用户代理)端和服务器端之间建立关联,从而起到交换数据包的作用机制。

Cookie

会话数据保存在浏览器客户端

工作流程

识别返回用户包括三个步骤:

cookie 的生命周期

会话周期:
cookie 数据保存在内存中,浏览器关闭后,会话失效。

setMaxAge 设置 cookie 有效期;默认 30 min
cookie 数据保存在硬盘中,浏览器关闭后依然后效,直到超出有效期

cookie 缺陷

大小和数量的限制:
一般每个站点最多保存 20 个。大小在 4k 以内。

数据安全性:
http 中的 cookie 为明文传递。

Session

会话数据保存在服务器端
session 在不同场合有不同的定义,此文主要为 HttpSession.

工作原理

Session 的生命周期

setMaxInactiveInterval 设置有效期;默认 30 min
主动调用接口使 session 失效; invalidate 接口。

session.setMaxInactiveInterval(2 * 60); // 设置 session 失效时间
session.invalidate();//调用 session 失效接口

通过部署描述符配置有效期

部署描述符设置 session 失效时间;单位 min

<session-config>
        <session-timeout>2</session-timeout>
</session-config>

总结

cookie:

项目地址:https://github.com/wengfe/JAVA/tree/master/COOKIEPROJECT

上一篇下一篇

猜你喜欢

热点阅读