面试问题:如果有两个Tomcat,通过Nginx实现负载均衡,怎么解决session共享?
自己的想法:既然session是基于cookie,那么可以将cookie实现两台服务器共享,就可以实现session共享。(cookie的实现方式是:cookie.setDomain(“一级域名”))
一、会话技术
1.1、概念
多次请求和多次响应
1.2、在java中,实现会话技术的两种方式
1.2.1、第一种方式:cookie(客户端会话技术)
1.2.2、第二种方式:session(服务端会话技术)
1.3、作用
主要作用是共享数据
二、cookie(客户端会话技术)
2.1、概述
数据存储在客户端的会话技术
2.2、描述图如下:(原理是基于响应头set-cookie,请求头cookie)
2.3、快速入门
1、创建cookie对象,绑定对象,cookie c = new cookie(String name,String value);
2、发送cookie对象,resp.addCookie(Cookie cookie);
3、获取cookie对象,Cookie [ ] cookie = req.getCookie();
2.4、cookie的细节
2.4.1、一次可以发送多个cookie吗?
可以,通过response.addCookie(Cookie cookie),添加多次。
响应头是:(Response Header)
Set-Cookie: lasttime=2020%E5%B9%B410%E6%9C%8810%E6%97%A5+08%3A40%3A03
Set-Cookie: time=123
请求头是:(Request Header)
Cookie: lasttime=2020%E5%B9%B410%E6%9C%8810%E6%97%A5+08%3A40%3A03; time=123
2.4.2、cookie的有效期是多长时间?
默认情