子域cookie,在父域请求中发送?

时间:2010-10-05 15:46:16

标签: http cookies cross-domain

是否在父域HTTP请求中发送了子域cookie?

例如,说我有饼干:

Name     Value     Domain (not https)
ABC      1         .example.com
XYZ      0         foo.example.com
DEF      0         bar.example.com

XYZ@foo.example.com和DEF@bar.example.com会在HTTP标题cookies中一起发送到http://example.com/content和/或http://QQQ.example.com/content

3 个答案:

答案 0 :(得分:23)

域值.example.com中的前导点表示 example.com 及其子域。如果没有前导点,则cookie仅对此特定域有效。

请注意,在设置Cookie时,没有前导点的域值将以点为前缀。仅当未设置参数时,用户代理才会假定该cookie的当前域。

因此,在这种情况下,如果请求http://example.com/,则只会发送.example.com的Cookie。但如果是http://foo.example.com/,则会发送.example.comfoo.example.com的Cookie。如果是http://bla.foo.example.com,则只会发送.example.com的Cookie。

答案 1 :(得分:6)

没有。反过来说: parent -domain cookies是在 sub -domain HTTP请求中发送的。

答案 2 :(得分:0)

如果子域的cookie设置为在其上一级具有前导点的域,则仅发送子域的cookie。因此,如果www.example.com设置了域名为“.example.com”的cookie,则会发送,否则不会。

另一种方式更令人困惑,顶层域中设置的cookie应该只发送到子域,如果它有前导点但是如果你使用的是Internet Explorer它也会发送它,如果它是在没有前导的情况下发送的点(ref)。