为什么Chrome和Safari浏览器没有看到某些分支的Cookie
我有一个网站为example.com生成一个cookie。 它可以通过http://example.com和http://www.example.com在Firefox,Chrome 18和Safari中访问。 但是,我无法从webkit派生的浏览器中访问http://test.me.example.com中的cookie。 它适用于Firefox。
我从javascript中设置cookie时,已经用domain = example.com和.example.com之一进行了测试。
该Cookie的路径为/且已设置过期时间。
你如何指定子域名? Chrome期望子域名的Cookie前缀为一个点,例如domain = .example.com
您可能会发现这篇文章很有用:https://serverfault.com/questions/153409/can-subdomain-example-com-set-a-cookie-that-can-be-read-by-example-com
从相同的RFC2109引用你读到:
* A Set-Cookie from request-host x.foo.com for Domain=.foo.com would
be accepted.
所以subdomain.example.com可以为.example.com设置一个cookie。 到现在为止还挺好。
The following rules apply to choosing applicable cookie-values from
among all the cookies the user agent has.
Domain Selection
The origin server's fully-qualified host name must domain-match
the Domain attribute of the cookie
那么我们有域名匹配吗?
更重要的是,正如@托尼指出的那样,是真实的世界。 有关实际用户代理正在执行的内容,请参阅
Firefox 3的nsCookieService.cpp和
Chrome的cookie_monster.cc为了透视实际的网站正在做什么,尝试使用> --save-cookies,--load-cookies和--debug来玩wget,看看发生了什么。
实际上,大多数网站都使用旧版RFC规范中的Set->> Cookie与“主机”值的组合,隐式地没有前导点(如twitter.com)或设置域值(带有领先的点),并重定向到像www.example.com这样的服务器(就像google.com一样)。
链接地址: http://www.djcxy.com/p/44891.html上一篇: Why does Chrome and Safari not see cookies for some sub