Chrome リリース M104(2022 年 8 月)以降、Cookie の有効期限を 400 日以上先に設定できなくなります。
Chrome リリース M104(2022 年 8 月)以降、Cookie の有効期限を 400 日以上先に設定できなくなります。
この変更は、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, 6 Feb 2024 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 か月を少し超える値として選択されました。これにより、年に 1 回程度アクセスするサイトでも Cookie を保持できます。
その他の情報
この変更はCookie のドラフト標準の一部であり、詳しくは Chrome プラットフォームのステータスをご覧ください。Mozilla と WebKit の両方から、400 日間の制限に対する肯定的なフィードバックがありましたが、どちらも現時点では実装されていません。