我有两个问题。 据我所知,如果我在cookie中指定域名为.mydomain.com(带有前导点),那么所有子域名都可以共享一个cookie。
subdomain.mydomain.com可以访问在mydomain.com(不含www子域)中创建的cookie吗?
如果在subdomain.mydomain.com中创建了cookie,mydomain.com(不含www子域)可以访问cookie吗?
发布于 2018-03-05 13:23:48
2个域mydomain.com
和subdomain.mydomain.com
只能在Set-Cookie
头中明确指定域的情况下共享Cookie。 否则,cookie的范围仅限于请求主机。 (这被称为“仅限主机cookie”。)
例如,如果从subdomain.mydomain.com
:
Set-Cookie: name=value
然后,就不会将cookie发送给mydomain.com
但是,如果使用以下内容,则在这两个域上都可以使用它:
Set-Cookie: name=value; domain=mydomain.com
在RFC 2109,没有前导点的域意味着不能在子域上使用它,而只有一个前导点(.mydomain.com
)允许跨子域使用。
然而,现代浏览器尊重更新的规范。RFC 6265,并将忽略任何前导点,这意味着您可以在子域和顶级域上使用cookie。
总之,如果像上面的第二个例子一样设置了一个cookie,那么mydomain.com
,它可以通过subdomain.mydomain.com
,反之亦然。
另见:
https://stackoverflow.com/questions/-100004197
复制相似问题