自 Chrome 版本 M104 (2022 年 8 月) 起,Cookie 的到期日設定,不能超過 400 天以後。
自 Chrome 版本起,M104 (2022 年 8 月) Cookie 無法再將到期日設為未來 400 天以後。
這項變更不會影響工作階段 Cookie (未明確使用 Max-Age
或 Expires
設定到期日的 Cookie),因為系統會在瀏覽工作階段結束時清除這些 Cookie。
經這項變更後,Chrome 會將到期日上限設為允許的值上限:從設定 Cookie 的起算 400 天後。要求到期日超過 400 天的 Cookie 不會遭到拒絕;到期日則設為 400 天。
範例
舉例來說,假設有一個 Cookie 在 2023 年 1 月 1 日星期日設定:
Cookie | 要求的到期日 | 未來天數 | 超過 400 天? | 有效期 |
---|---|---|---|---|
Name=Value; 到期日=2024 年 1 月 1 日 00:00:00 GMT | 2024 年 1 月 1 日 | 365 | 否 | 2024 年 1 月 1 日 |
Name=Value; Max-Age=31536000 | 2024 年 1 月 1 日 | 365 | 否 | 2024 年 1 月 1 日 |
Name=Value; expiration=Mon, 2024 年 2 月 5 日 00:00:00 GMT | 2024 年 2 月 5 日 | 400 | 否 | 2024 年 2 月 5 日 |
Name=Value; Max-Age=34560000 | 2024 年 2 月 5 日 | 400 | 否 | 2024 年 2 月 5 日 |
Name=Value; expiration=Tues, 2024 年 2 月 6 日 00:00:00 GMT | 2024 年 2 月 6 日 | 401 | 是 | 2024 年 2 月 5 日 |
Name=Value; Max-Age=34646400 | 2024 年 2 月 6 日 | 401 | 是 | 2024 年 2 月 5 日 |
Name=Value; expiration=Wed, 2025 年 1 月 1 日 00:00:00 GMT | 2025 年 1 月 1 日 | 731 | 是 | 2024 年 2 月 5 日 |
Name=Value; 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 天的時間限制都提供正面評價,但兩者均未以書面形式導入。