首先了解一下cookie,cookie有三种类型。
第一种,当setcookie不设置过期时间时,cookie保存在客户端内存中。关闭浏览器即实效。也叫
会话cookie,
第二种是设置了过期时间。cookie保存在客户端的硬盘中,只有cookie过期的时候才过期,存在硬盘中的cookie,不同的浏览器进程可以共享。比如一般网站的自动登陆功能。(上次做联想问吧的时候有一个自动登陆功能,就是设置了cookie)。也叫Persistent cookies
第三种就是第三方cookie,当你访问某一个网站的时候。当前访问的站点成为第一方cookie,即上面两种。其他任意网站的cookie叫做第三方cookie。
由于主要是说关于第三方cookie的问题因此,给出另一个解释:第三方Cookie是来自当前正在查看的网站以外的网站,或者发送到当前正在查看的网站以外的网站。第三方网站通常提供正在查看的网站上的内容。例如,许多站点使用来自第三方网站的广告,或者iframe的别的网站的url,这些第三方的网站可能使用的Cookie。
下面了解一下P3P
P3P由万维网协会研制,它为Web用户提供了对自己公开信息的更多的控制。
支持P3P的Web站点可以为浏览者声明他们的隐私策略。
支持P3P的浏览器 则可以将Web站点的策略与用户的隐私偏好进行对比,并为用户提出不匹配的警告。
因此,用户可以被通知有关Web隐私的处理方式。
更详细的说明请看http://www.w3.org/P3P/的介绍
现在问题出来了,如果现在有两个网站A和B,A请求了B的东西,B的服务器setCookie,A发请求的时候默认是不带B的服务器所设置的cookie,因此为了让cookie共享,B返回的请求可以加上
response.addHeader("P3P", "CP=CAO PSA OUR");
然后再setCookie,这会A再发请求到B就会把B设置的cookie带上啦