21

我使用以下语法来设置 cookie:

Set-Cookie:Cookie-name=value; path=/; Max-Age=1296000; HttpOnly

在 google chrome 控制台中,它显示 该 cookie 的无效日期

语法有什么问题?

根据 http://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age http://tools.ietf.org/html/rfc6265#section-5.2.2 我可以使用 Max-Age 来指定相对到期时间。

4

2 回答 2

6

我认为这不是您可以/应该解决的问题。您正在使用的 Inspector/Dev 工具并不总是如其他用户所显示的那样正确。在其他情况下,开发工具也会出错,例如在“网络”工具中。
您可以安装一个扩展程序,例如编辑此 cookie,以了解您的 cookie 的行为方式。虽然它不能帮助您跟踪重定向,但它有助于了解设置了哪些 cookie 并允许您更改它。

于 2013-02-12T08:01:43.527 回答
4

更新

我进行了额外的测试,得出了与下面列出的问题 123013相同的结论。我认为这只是一个 DevTools 错误。

DevTools > Network 似乎错误地呈现日期。但是,DevTools > Resources 正确显示日期,类似于其他浏览器。

此外,我正确创建的另一个 cookie 已过期。这反映在 DevTools > Resources 中,但没有反映在 DevTools > Network 中。.

试验结果

setcookie('foo', 'bar', time()+3600, "/", NULL, false, true);

Chrome v24.0.1312.57
  Resources > Cookies   Thu, 14 Feb 2013 17:08:33 GMT
  Network > Cookies     Invalid Date

Firefox 18.0.2          Thursday, February 14, 2013 11:59:15 AM
IE9 9.0.8112.16421      Thu, 14-Feb-2013 17:06:42 GMT

最后,总而言之,您的语法似乎是正确的。“无效日期”消息看起来像一个 Chrome 错误。


我无法使用Chrome v24.0.1312.57 复制此问题。我用 JavaScript 和 PHP 设置了各种测试 cookie。Chrome 没有抛出任何错误,并将max-age我传递的值正确转换为相应的expires值。

这个错误,或者非常相似的东西,已经提交并且显然已经修复了。

网络套件

于 2013-02-08T02:55:03.310 回答