为啥我看到多个 set-cookie 标头?

Posted

技术标签:

【中文标题】为啥我看到多个 set-cookie 标头?【英文标题】:Why am i seeing multiple set-cookie headers?为什么我看到多个 set-cookie 标头? 【发布时间】:2015-03-31 01:59:42 【问题描述】:

我目前正在尝试让 symfony 2.6 记住我的功能为我的项目工作。我已经完全按照说明书启用了它,当我使用 symfony 分析器时,我可以在我的 login_check 响应中看到在 set-cookie 标头中设置了记住我的 cookie,但是当我检查 chrome 和 safari 中的响应时,这没有显示,我只在 set-cookie 标头中看到 phpSESSID 和 _ga 值。然后我查看了 charles 代理中的响应,发现有两个 set-cookie 标头,一个带有 PHPSESSID 和 _ga,另一个带有 REMEMBERME。

那么为什么我会看到多个设置的 cookie 标头?可以看到多个设置的 cookie 标头,因为浏览器似乎只尊重他们看到的第一个标头?如果你以前碰巧遇到过这个问题,我该如何让我记住我的工作?谢谢。

【问题讨论】:

【参考方案1】:

所以在深入了解了 symfony 的内部运作之后,我能够确定一些事情。首先,多个设置的 cookie 标头实际上很好而且很标准。其次,我的问题是因为我将 cookie 的路径设置为“/.*”,这不是有效路径,因此 cookie 被踢出。通过将路径更改为“/”,我设法让一切正常运行。

【讨论】:

以上是关于为啥我看到多个 set-cookie 标头?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Chrome 会忽略 Set-Cookie 标头?

为啥浏览器会忽略 set-cookie 标头,并且未使用 fetch 从 Ajax 调用中保存 cookie?

为啥在使用 setRequestHeader 制作 xmlhttprequest 时无法设置 cookie 和 set-cookie 标头?

Set-cookie标头不保存cookie

API Gateway 结合 Lambda 集成和 CloudFront 忽略了多个 Set-Cookie 标头

Spring 何时发回 XSRF-TOKEN set-cookie 响应标头?