ie9重定向后丢失cookie

don*_*tta 8 cookies redirect internet-explorer-9

我有一个iframe:

  1. 向服务器发送帖子请求
  2. 服务器返回302并设置cookie
  3. 浏览器不保存cookie但是发帖子(不知道为什么不能获得,但没关系)
  4. 来自#3的cookie丢失了

我找到了一个解决方法:

Response.AddHeader("Pragma", "no-cache");
Response.AddHeader("Cache-Control", "no-cache");
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.mb任何人都知道什么可以解决这个问题?

Eri*_*Law 11

您可能想要了解浏览器为什么要进行POST而不是GET,因为这意味着您遗漏了一条重要的信息.没有浏览器会使用POST跟踪HTTP/302重定向.

在IE9中,如果标头允许,则缓存重定向响应(IE8及以下版本不会缓存重定向).

您绝对可以在302重定向上设置cookie.这里有两种可能性:

  1. 您的cookie被丢弃,因为您未能在响应中提供P3P标头,表明您的隐私惯例与用户的愿望兼容.
  2. 您的重定向响应是从用户的缓存而不是服务器中提取的,并且缓存的响应未设置cookie.

鉴于你在IFRAME中遇到这个问题,#1似乎更有可能.(参见P3P快速浏览)

  • 只有IE支持P3P.在先前评论建议添加标题之前,您必须确保使用该标题所做的声明是正确的,否则您可能会因对您的隐私惯例做出虚假声明而被起诉. (3认同)