Cookie流程
Session技术流程
1.cookie数据存放在客户的浏览器上,session数据放在服务器上
2.很多浏览器都限制一个站点最多保存20个cookie,单个cookie保存的数据不能超过4k
3.cookie并不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session
4.可以考虑将登录信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中
5.session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当把不是用户敏感的信息保存到cookie
6.session会在浏览器关闭或者一段时间内销毁,也可以通过setMaxInactiveInterval(int)方法进行设置,或是通过invalidate()方法强制结束当前会话。cookie可以通过setMaxAge(int)方法设置缓存在客户端的时间
7.一般情况下,session生成的sessionid都是保存在cookie中
总结:
- Cookie在客户端保存数据,不安全,只能保存字符串,且是少量数据
- session在服务器保存数据,安全。可以保存对象数据,数据无限制
cookie被用户禁用怎么办?
可以使用URL地址重写的方式对客户端进行不支持Cookie的解决,URL地址重写的原理是将该用户Session的id信息重写到URL地址中。服务器能够解析重写后的URL获取Session的id。这样即使客户端不支持Cookie。也可以使用Session来记录用户状态