现在,Cookie 有效期和最大存在时间属性设有上限

自 Chrome M104(2022 年 8 月)起,Cookie 设置的有效期不能超过 400 天。

Ari Chivukula
Ari Chivukula

从 Chrome M104(2022 年 8 月)开始,Cookie 所设置的有效期不能超过 400 天。

这项更改不会影响会话 Cookie(未使用 Max-AgeExpires 明确设置失效日期的 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 保留 400 天以上吗?每当用户再次访问相应网站时,开发者都可以通过设置同名的新 Cookie 来延长有效期。请注意,出于多种原因(例如,用户可以手动清除其 Cookie 或超出了每个网域的 Cookie 限制),Cookie 可能会在失效日期之前删除。

为什么要添加此限制?

在添加此限制之前,Cookie 可能会在未来几千年后过期。通过此项变更,我们希望在用户期望和便利性之间取得更好的平衡。我们选择了 400 天,因为有点超过 13 个月。这样一来,大约每年访问一次的网站就可以保留其 Cookie。

了解详情

这项更改是 Cookie 标准草稿的一部分,如需了解更多详情,请参阅 Chrome 平台状态MozillaWebKit 都对 400 天限制给出了积极的反馈,但在撰写时两者都未实现。