自 Chrome M104(2022 年 8 月)起,Cookie 设置的有效期不能超过 400 天。
从 Chrome M104(2022 年 8 月)开始,Cookie 所设置的有效期不能超过 400 天。
这项更改不会影响会话 Cookie(未使用 Max-Age
或 Expires
明确设置失效日期的 Cookie),因为系统会在浏览会话结束时清除这些 Cookie。
此项变更生效后,Chrome 会将失效日期限制为允许的最大值,即自 Cookie 设置之日起 400 天。请求有效期超过 400 天的 Cookie 不会被拒绝,其有效期设置为 400 天。
示例
例如,假设在 2023 年 1 月 1 日(星期日)设置的 Cookie:
Cookie | 请求的有效期 | 未来几天 | 超过 400 天? | 有效截止日期 |
---|---|---|---|---|
Name=Value;到期时间=2024 年 1 月 1 日星期一 00:00:00 GMT | 2024 年 1 月 1 日 | 365 | 否 | 2024 年 1 月 1 日 |
名称=值;Max-Age=31536000 | 2024 年 1 月 1 日 | 365 | 否 | 2024 年 1 月 1 日 |
Name=Value;到期时间=格林尼治标准时间 2024 年 2 月 5 日周一 00:00:00 | 2024 年 2 月 5 日 | 400 | 否 | 2024 年 2 月 5 日 |
名称=值;Max-Age=34560000 | 2024 年 2 月 5 日 | 400 | 否 | 2024 年 2 月 5 日 |
Name=Value;到期时间=格林尼治标准时间 2024 年 2 月 6 日星期二 00:00:00 | 2024 年 2 月 6 日 | 401 | 是 | 2024 年 2 月 5 日 |
名称=值;Max-Age=34646400 | 2024 年 2 月 6 日 | 401 | 是 | 2024 年 2 月 5 日 |
Name=Value;到期=日,2025 年 1 月 1 日,格林尼治标准时间 00:00:00 | 2025 年 1 月 1 日 | 731 | 是 | 2024 年 2 月 5 日 |
名称=值;Max-Age=63158400 | 2025 年 1 月 1 日 | 731 | 是 | 2024 年 2 月 5 日 |
延长 Cookie 有效期
想要将 Cookie 保留 400 天以上吗?每当用户再次访问相应网站时,开发者都可以通过设置同名的新 Cookie 来延长有效期。请注意,出于多种原因(例如,用户可以手动清除其 Cookie 或超出了每个网域的 Cookie 限制),Cookie 可能会在失效日期之前删除。
为什么要添加此限制?
在添加此限制之前,Cookie 可能会在未来几千年后过期。通过此项变更,我们希望在用户期望和便利性之间取得更好的平衡。我们选择了 400 天,因为有点超过 13 个月。这样一来,大约每年访问一次的网站就可以保留其 Cookie。
了解详情
这项更改是 Cookie 标准草稿的一部分,如需了解更多详情,请参阅 Chrome 平台状态。Mozilla 和 WebKit 都对 400 天限制给出了积极的反馈,但在撰写时两者都未实现。