阅读此Share cookie between subdomain and domain后,我仍然不完全明白。我的任务是共享域与其子域之间的cookie。他们都可以安装它们:
如果sub1.domain.com首先安装它们,那么它们应该可以在sub1.domain.com和domain.com中访问
如果domain.com首先安装它们,那么它们应该可以在sub1.domain.com和domain.com中访问
首先安装我的意思是,一旦新用户进入主域或子域,就会安装它们。
因此,如果我在其中任何一个域上安装Set-Cookie: name=value; domain=example.com
,那么它们会被共享吗?
答案 0 :(得分:1)
是的,他们将被分享。以下是域匹配的工作原理(quoting the RFC):
字符串域 - 匹配给定的域字符串(如果至少有一个) 以下条件成立:
- 域名字符串和字符串相同。 (注意两者 域字符串和字符串将被规范化为 此时小写。)
- 满足以下所有条件:
- 域字符串是字符串的后缀。
- 未包含在字符串中的字符串的最后一个字符 域字符串是
%x2E
("."
)个字符。- 字符串是主机名(即不是IP地址)。
因此,对于设置为example.com
的Cookie域,example.com
和subdomain.example.com
都会成功匹配:
example.com
,因此满足第一个条件example.com
是subdomain.example.com
subdomain.
- 显然是.
subdomain.example.com
绝对是主机名,而不是IP 答案 1 :(得分:-1)
您需要在域名前添加.
。例如:Set-Cookie: name=value; domain=.example.com
,这会使Cookie在example.com
和anything.example.com
中传播。