一、session的作用
记录用户的信息,服务器与客户端保存整个通讯的会话信息
二、相关解决方案
- 直接似乎用cookie替代session
由于cookie是存在于客户端的,而session是存在于服务器端的,如果我们将用户信息存在客户端,那么数据将及其不安全,数据可能会被黑客窃取。 - 使用Nginx IP绑定
由于Nginx大多数情况下,做的是负载均衡和反向代理,如果使用解决该情况会使得负载均衡作用变得很小。 - 使用数据库
数据库是基于硬盘存储的,效率太低。 - tomcat内置支持对session同步
但是tomcat之间通讯有延迟,不推荐 - 使用session相关框架(推荐)
例如spring-session或xxl-sso等第三方框架,将session存入redis中 - 使用token替代session功能(推荐)
一般用于移动端,会将token存入本地文件中,一般APP都是这么做的。
三、注意点
sessionId是与域名绑定的,如果域名有一丁点变化,就会无法于之前的匹配。
例如第一次访问的域名是www..com,第二次是,bbs..com就会失效。