2011-01-14 113 views
47

在302重定向期间发送cookie是否存在任何问题?例如,如果我创建了一个返回到URL的cookie并在相同的响应中重定向用户,那么任何(现代)浏览器都会忽略该cookie?在302重定向期间发送浏览器cookie

+0

读了一下,我想会话变量会比cookies好,因为它们是服务器端的,不依赖于客户端的可预测性。 – ADTC 2016-11-27 10:41:22

回答

20

大多数浏览器正在接受302重定向中的Cookie。我很确定,但我做了一些搜索。并非所有现代浏览器。 Internet archive Link from a now removed/dead/ microsoft connect Q/A on Silverlight Client HTTP Stack ignores Set-Cookie on 302 Redirect Responses (2010)

我认为我们现在有针对IE6的替代品,它的Windows Mobile浏览器...

+1

您指定的论坛页面无法通过URL访问。你的意思是IE6和Windows Mobile浏览器不是? – hiroshi 2013-02-12 02:15:00

+1

链接已移动。我已经设定了一个有着相同内容的新链接。我的意思是IE特定版本的移动添加自己的一套错误 – regilero 2013-02-13 13:08:45

10

Here是此问题的Chromium错误(对状态302的HTTP响应忽略​​Set-cookie)。

+0

状态:WontFix - 永久性错误 – Slawa 2017-10-03 22:30:57

11

一个通知(以节省开发者的工作):

IE和边缘都忽略设置Cookie中的重定向响应时cookie的访问本地主机

解决方案:

使用127.0.0.1而不是本地主机

0

在我的情况下,我设置了CookieOptions.Secure = true,但是在http://localhost上测试了它,并且浏览器根据设置隐藏了cookie。

为避免此类问题,您可以使Cookie安全选项与协议Request.IsHttps匹配,

new CookieOptions() 
       { 
        Path = "/", 
        HttpOnly = true, 
        Secure = Request.IsHttps, 
        Expires = expires 
       }