假设我有一个域名网站:www.example.com
如果我使用路径' / '设置cookie,则可以通过域中的所有页面访问cookie,例如:
www.example.com/page1.html
www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1/page1.html等
如果我们将cookie设置为路径' / subfolder1 ',该cookie是否可用于该文件夹下的任何页面或子文件夹?例如:
www.example.com/subfolder1/moresubfolder/page1.html
所以,如果没有,我猜,我别无选择,只能对这些cookie使用路径'/',对吗?
如果我们将cookie设置为路径'/ subfolder1',那么cookie是否可用于文件夹下的任何页面或子文件夹?
是.cookie 将可用于所有页面和子目录.
如果我们将cookie设置为path /subfolder1
,则可以访问示例中的以下页面:
www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1/page1.html
等.
但是,该页面www.example.com/page1.html
将不可访问,因为它不属于允许的路径.
通过重复使用此答案的一部分来消除一些歧义:
如果至少满足下列条件之一,请求路径路径将匹配给定的cookie路径:
cookie路径和请求路径是相同的.
cookie路径是请求路径的前缀,cookie路径的最后一个字符是%x2F("/").
cookie-path是请求路径的前缀,而cookie
路径中未包含的请求路径的第一个字符是%x2F("/")字符.
在/subfolder1
路径上设置cookie 和/subfolder1/
路径之间存在轻微(但可能很重要)的区别.
如果你依赖前者,你的请求路径需要以"%x2F("/")字符"(正斜杠)开头,以保证所需的行为.例如,看一下链接的答案.
设置cookie路径只是为了/
避免任何边缘情况,但正如你所说 - cookie可以访问整个域.