cookie 是由浏览器进行管理的 浏览器会更具请求的路径 找到对应的cookie添加到请求数据中去
浏览器是根据请求的路径 来进行cookie的查找 与添加的
比如
127.0.0.1:8080/op/login
这个请求之后 我们生成了一个请求 同时回传一个cookie 此时我们没有在 后台设置 cookie的path属性 那么浏览器将使用 默认的规则 找到请求最后一个反斜杠 即 127.0.0.1:8080/op/ 匹配该cookie 意思是 每次路径里面有 127.0.0.1:8080/op/ 都会携带该cookie值
我们也可以在后台手动设置 一般设为"/" 这个意思代表 该站点的所有请求 都会携带这个cookie
如果设置为”/path1/path2/"
那么只有在访问 ip:port/path1/path2/** 这种路径时才会 携带这个cookie
如图有两个cookie 一个设置了path为“/" 即
http://172.19.81.60:8080/
l另一个没有设置 使用默认的 即
http://172.19.81.60:8080/newrobot/investment/op/
如下图第二个请求 少了一个cookie(值是不一样的) 但是那个设置了cookie路径为”/" 还在
***
提示 :进行这种测试的浏览器的数据要清理掉 不然会出现异常的情况
总结:
cookie 在第一次返回给浏览器的时候 要设置路径 一般为“/" 如果网关环境复杂 最好设置一下
亲身经历 就因为上图路径多了一个 反斜杠(仔细看下)cookie传输异常
个人觉得 使用cookie 进行会话控制 其实不好 因为现在的的项目一般网络环境都比较复杂
每个地方都会对http的请求头进行处理 只要有一个地方出问题 系统运转就出问题了 现在 一般吧会话的标识 作为请求的参数 进行传递 这样更可靠