自 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; Expires=Mon, 1 Jan 2024 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; Expires=Mon, 5 Feb 2024 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; Expires=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; Expires=Wed, 1 Jan 2025 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 天的限制給予正面評價,但截至本文撰寫時,兩者都尚未實施。