【问题标题】:Setcookie syntax Google ChromeSetcookie 语法 Google Chrome
【发布时间】:2012-03-04 14:14:22
【问题描述】:

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

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

在谷歌浏览器控制台中显示 该 cookie 的无效日期

语法有什么问题?

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

【问题讨论】:

  • 根据 Wikipedia 页面,如果您点击了相关 RFC 的链接,它清楚地表明并非所有用户代理都支持 max-age,如果找到它会忽略它。
  • @MarcB 它正在将 max-age 设置为 Google-chrome 中的正确值。我不知道为什么它显示“无效日期”
  • 我在 Chrome 17.0.963.56 中看到了同样的问题。我看到的另一个问题是它没有在同一个 Set-Cookie 标头中显示后续 cookie。
  • 是的,这里也看到了。简单的 php setcookie('x','y',123+time(),'/','.domain.com');显示为无效 cookie。
  • 您运行的是哪个版本的 Chrome?我无法复制错误。

标签: google-chrome cookies http-headers httpcookie


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    更新

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

    DevTools > 网络似乎错误地呈现日期。但是,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 值。

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

    WebKit

    【讨论】:

    • 它不是固定的。在 php 中试试这个 - setcookie('blah', 'blah', time()+100, "/", NULL, false, true); BTW,我在 ubuntu 12.04 上测试了你在答案中报告的相同版本的 chrome。
    猜你喜欢
    • 1970-01-01
    • 2013-10-09
    • 2014-09-27
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多