cookie中path路径探讨
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie中path路径探讨相关的知识,希望对你有一定的参考价值。
参考技术A 上篇文章 中说:cookie必须在 同一网站 下且 cookie的path路径为当前url或者是当前url的父级 时才是共享的。
具体怎么理解呢?看下面解释
首页介绍下php中设置cookie的函数setcookie()
需要注意的且常用的有俩点
做几个测试就知道了,主要测试以下几点
设置一个cookie变量a,以我们上面的预测,客户端的path应为 /
看到path为 /, 也就是说在整个域名内任何path的cookie都应该能访问该cookie变量a
设置一个cookie变量b,以我们上面的预测,该cookie变量b的path应为/api/test,而且应该包含path为/api/test,/api和/的cookie变量,也就是包含我们上面设置的cookie变量a
发现path确实/api/test,证明我么的第一个观点,而发现能共享cookie变量a,也证明了我们的第二个观点。
Cookie path的设置
cookie path 设置
IE对如下的cookie路径设置和chrome和firefox是完全不一样的:
cookie.setPath("");
- 实践证明IE会忽略这个path,而chrome和firefox则会认为是设置了。因为根据cookie规范,如果设置了path,那么只有当访问路径中包含了这个path的url时才会发送cookie到服务器;如果没有设置path,那么只有当访问和设置cookie同样的路径时才会发送cookie到服务器。可惜的是这里IE忽略了,因此会按照后面的来处理cookie,而chrome和firefox则会认为设置了path,那么理所当然的任何访问路径都会携带cookie。
因此:
if(path.equals(""))
path = "/";
的方式来处理
以上是关于cookie中path路径探讨的主要内容,如果未能解决你的问题,请参考以下文章