同名Cookie相关问题
比如请求页面为:http://demo.frp.iant.work/test/testCookie
Cookie 设置方式
方式:A
Cookie cookie4 = new Cookie("1","789");
getResponse().addCookie(cookie4);未设置path ,默认为 /test
未设置domain,默认为当前域名:demo.frp.iant.work
未设置MaxAge,默认为会话(session)
方式:B
Cookie cookie1 = new Cookie("1","123");
cookie1.setPath("/test");
cookie1.setDomain("demo.frp.iant.work");
getResponse().addCookie(cookie1);如果设置了domain,默认是域名或域名的子域名:.demo.frp.iant.work,会在域名前加上一点。
方式:C
Cookie cookie3 = new Cookie("1","456");
cookie3.setDomain(".iant.work");
cookie3.setPath("/");
cookie3.setMaxAge(-1);
getResponse().addCookie(cookie3);path设置为-1,表示跟随会话过期,可以不设置,默认也是会话
方式:D
Cookie cookie2 = new Cookie("1","321");
cookie2.setPath("");
cookie2.setDomain(".frp.iant.work");
getResponse().addCookie(cookie2);path设置为空,也相当于 /test
方式:E
Cookie cookie5 = new Cookie("1","222");
cookie5.setPath("/");
cookie5.setDomain(".frp.iant.work");
getResponse().addCookie(cookie5);Cookie不覆盖原则
Domain + Path,相当于Domain+Path作为唯一主键,两个任意一个值不相同都不覆盖!
多个同名Cookie优先级
经过多种测试,发现顺序没有规律,按度娘的说法,是按添加cookie的先后顺序。同名cookie会存在无法预测的各种问题,建议添加Cookie都统一个工具类处理,避免出现同名Cookie的问题出现!或者抛弃Cookie使用jwt代替!