Java Web 客户端保存用户会话信息
??? 前一段项目完成一直在实施工作,现在又空闲时间,进行回顾一下java web的知识。??????????
?? ?在java web 中“用户会话”是在客户端和服务端之间的多次请求构成的一种的“对话”。
?
?
????????? 在客户端保存会话状态:其实质把会话状态保存在客户端,就是把会话串行化,并且把他放在html视图页面,传递会客户端。
?
? 其优点如下:
?? (1)相对来说容易
?? (2)保存状态比较少时效果比较好。
?? (3)当需要在多台物理服务器上实现负载均衡时,使用客户端保存会话状态的策略,也不需要在服务器之间复制会话状态。
?
?
实现服务器段保存会话状态的集中常见策略:
?? (1)HTML隐藏域字段
?? (2) HTTP COokie 使用
??? (3)将会话一查询字符串格式放入url中
??
?
针对html隐藏字段:
??? 优点:容易实现,在安全性行比较低且数据量比较小的情况下,效果比较好
?? 缺点:数据多时,对系统性能产生负面影响比较大。(在请求和响应中都要通过网络反复传输)
????????? ?数据信息只能以字符串格式保存在html隐藏域字段中。
??????? 客户端用户,可以通过查看源代码,直接查看到暴露在html中信息。
?
?
针对HTTP COOKIE :
? 优点:同html隐藏字段优点
?缺点: 数据多时,对系统性能产生负面影响比较大。(在请求和响应中都要通过网络反复传输)
????????? ?数据信息只能以字符串格式保存在COokie字段中。
??????? 客户端用户使用的浏览器不同可能存储的数据量大小不等。
?
?
?
? 针对会话状态查询字符串话放在url:
? 优点:容易实现,在安全性行比较低且数据量比较小的情况下,效果比较好
? 缺点: 数据信息的长度有可能有限制,如get请求方式等????????????
????????? ?数据信息只能以字符串格式保存在查询字符串中
?
?
?
?
?
在客户端保存会话状态时的安全问题:
????? 当客户端放在客户端时,必须要考虑数据的安全性,如果不想暴露数据给客户端,可以适当的加密来保护数据。
?