在302redirect期间发送浏览器cookie

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

大多数浏览器正在接受302redirect的cookies。 我很确定,但是我做了一些search。 并非所有的现代浏览器。 http://connect.microsoft.com/VisualStudio/feedback/details/586916/silverlight-client-http-stack-ignores-set-cookie-on-302-redirect-responses

我想我们现在有一个IE6的替代品,它的Windows Mobile浏览器…

根据这篇博文: http : //blog.dubbelboer.com/2012/11/25/302-cookie.html所有主stream浏览器,IE(6,7,8,9,10),FF(17),Safari (6.0.2),歌剧(12.11)在Windows和Mac上,设置Cookieredirect。 301和302redirect都是如此。

以下是此问题的Chromium错误(对状态为302的HTTP响应忽略​​Set-Cookie)。

一个通知(为了节省开发者的生命):

当cookie的域名是localhost时,IE和Edge忽略redirect响应中的Set-Cookie。

解:

使用127.0.0.1而不是localhost

在我的情况下,我设置CookieOptions.Secure = true,但在http:// localhost 。上testing,浏览器根据设置隐藏cookie。

为了避免这样的问题,你可以使cookie安全选项匹配协议Request.IsHttps,例如

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