同名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代替!