session和cookie

来源:互联网 发布:淘宝借贷延期 编辑:程序博客网 时间:2024/05/23 15:36
Session是保存在客户端还是服务器?
是保存在内存还是硬盤上?
是什么时候释放掉的?


保存在服务端内存 

正常情况下客户端只要没关闭浏览器 对应的Session就一直存在(除非有超时)
网线断了不会马上释放 是一定时限内(比如20分钟) 没有响应 服务端会自动释放


cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:
   将登陆信息等重要信息存放为SESSION
   其他信息如果需要保留,可以放在COOKIE中

SysUserPojo user = (SysUserPojo)session.getAttribute(Constant.CURRENT_USER);
 subject.getSession().setAttribute(Constant.CURRENT_USER, user);