我目前在.domain.com
的网站上存储Cookie,因为我有一些共享Cookie的子域(如身份验证)。我想设置一个测试网站,以便我可以公开显示某些功能,因此我设置了一个test.domain.com
,显然会获得.domain.com
个Cookie,但我不喜欢它。有没有办法让我进行设置,以便我的测试网站只读取.test.domain.com
上的cookie?
答案 0 :(得分:0)
如果在mydomain.com
标头中明确命名域,则2个域subdomain.mydomain.com
和Set-Cookie
只能共享Cookie。否则,cookie的范围仅限于请求主机。
例如,如果您从subdomain.mydomain.com
发送了以下标头:
Set-Cookie: name=value
然后,不会向mydomain.com
的请求发送cookie。但是,如果您使用以下内容,它将在两个域上都可用:
Set-Cookie: name=value; domain=mydomain.com
在[RFC 2109] [1]中,没有前导点的域意味着它不能在子域上使用,只有一个前导点(.mydomain.com
)允许它跨子域使用。< / p>
但是,现代浏览器尊重较新的规范[RFC 6265] [2],并且会忽略任何前导点,这意味着您可以在子域和顶级域上使用cookie。
总之,如果你设置一个像mydomain.com
上面第二个例子那样的cookie,subdomain.mydomain.com
可以访问它,反之亦然。