正确理解cookie的path属性

来源:web开发    发布日期:2009-6-14    阅读数:

cookie 有路径--path,表示哪些路径下的文件有权限读取该 cookie。

path 应该以 "/" 结尾,同名 cookie,不同 path,属不同的 cookie

document.cookie = "N1=1; path=/path/";
document.cookie = "N1=2; path=/path";
document.cookie = "N1=3; path=path/";

如上代码,前两句使用的是绝对路径,即相对于站点根目录的网页目录,第三句使用的是相对路径,相对于当前目录的。

第一句和第二句在于结尾不同,虽然他们所表达的权限相同,但是由于 path 字符串不同,会形成两个同名的 cookie,容易造成混乱,我们建议不要使用第二句这种格式,因为系统默认也是以 "/" 结尾的。

所以如上述是三个 cookie,之间不会相互覆盖。

path 属性值有大小写之分,应与浏览器中的地址栏的输入一致

document.cookie = "N1=1; path=/path/";
document.cookie = "N1=2; path=/paTH/";

这是两个不同的 cookie,因为 path 属性值大小写不同,如果我们在地址栏输入的是 path,那么就读取第一个 N1,如果我们输入的是 paTH,那么就读取第二个 N1

path 不可读

同 expires 一样,path 只可写,不可读。

path 不可更改

同 expires 不一样,如果我们试图更改 path,那么实际上我们是另外写了一个 cookie,而不是更改了 path 值。

path 权限有继承性

假如指定了 /test/ 目录有权限读取某 cookie,那么 /test/ 之下的目录 /test/t/ 也有权限读取该 cookie。



站内搜索


Copyright;2009-2009 webcenter.hit.edu.cn All Rights Reserved 哈工大网络与信息中心