1 作者:kongqz
1.1 blog:http://blog.csdn.net/kongqz
2 目标
2.1 对于同一域下的所有网站只需登录一次
举例来说:
www.baidu.com
aaa.baidu.com
bbb.baidu.com
我只需要在一个地方登陆,访问他的任何一个子系统都不需要登陆
2.2 服务器端的session能经得起大量的用户登录数据存储
传统的互联网方式是通过session复制或者将session会话保持到指定的子节点。但是缺陷是,session数据量越大访问性能越堪忧。
通过ip或者cookie路由的方式很容易造成节点访问不均匀
2.3 浏览器关闭session失效
这个是保证访问安全,大部分电商网站都这么做
2.4 数据的读取不能给数据库较大的压力
我们不能将这些访问频度较高的数据存储到数据库,这样会将数据库压垮
2.5 多节点访问的时候session不失效
可以通过ip路由或者会话复制绑定的方式处理。但是很容易负载不均匀
3 前提知识
3.1 cookie的生命周期
当我们不设置cookie的生命周期的时候,cookie的相关数据存储在内存中。随着浏览器的关闭而失效。
这里需要注意的是,现在的浏览器支持多个tag的方式,如果只是关闭tag,并不意味着当前访问的系统的cookie已经销毁。只有当前浏览器关闭才能进行cookie的销毁。
3.2 sessionid的生成机制
在tomcat中,不论是在windows还是linux下。sessionid