cookie以及session原理和分布式session如何确保一致性

cookie原理
1)服务器创建cookie对象,把会话数据存储到cookie对象中。
2)服务器发送cookie信息到浏览器
3)浏览器得到服务器发送的cookie,然后保存在浏览器端。
4)浏览器在下次访问服务器时,会带着cookie信息
5)服务器接收到浏览器带来的cookie信息

session原理
1)第一次访问创建session对象,给session对象分配一个唯一的ID,叫JSESSIONID
2)把JSESSIONID作为Cookie的值发送给浏览器保存
3)第二次访问的时候,浏览器带着JSESSIONID的cookie访问服务器
4)服务器得到JSESSIONID,在服务器的内存中搜索是否存放对应编号的session对象。
5)如果找到对应编号的session对象,直接返回该对象
6)如果找不到对应编号的session对象,创建新的session对象,继续走1的流程
结论:通过JSESSION的cookie值在服务器找session对象!!!!!

分布式session如何确保一致性:1. Session Stiky(根据每次请求的会话标识SessionID来进行请求转发在同一个Web服务器上处理) 2.Session Replication(通过同步就保证了不同Web服务器之间的Session数据的一致) 3.Session数据集中存储(把Session数据集中存储起来,然后不同Web服务器从同样的地方来获取Session)4.Cookie Based(Session数据存放在Cookie中,然后在Web服务器上从Cookie中生成对应的Session数据。)
建议:对于大型网站来说,Session Sticky和Session集中管理是比较好的方案。

你可能感兴趣的:(java)