Cookie の有効期限と最長期間の属性に上限が追加されました

Chrome リリース M104(2022 年 8 月)以降、Cookie の有効期限を 400 日以上先に設定できなくなります。

Ari Chivukula
Ari Chivukula

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 を 400 日間を超えて保持したい場合は、デベロッパーは、ユーザーがサイトに再度アクセスするたびに、同じ名前の新しい Cookie を設定することで、有効期限を延長できます。なお、Cookie はさまざまな理由で有効期限より前に削除されることがあります(ユーザーが Cookie を手動で消去したり、ドメインごとの Cookie の上限を超えたりするなど)。

この上限が追加されたのはなぜですか?

この上限が追加される前は、Cookie の有効期限が数千年先に設定される可能性がありました。今回の変更により、ユーザーの期待と利便性のバランスをより適切に取ることができると考えています。400 日という値は、13 か月を少し超える値として選択されました。これにより、年に 1 回程度アクセスするサイトでも Cookie を保持できます。

その他の情報

この変更はCookie のドラフト標準の一部であり、詳しくは Chrome プラットフォームのステータスをご覧ください。MozillaWebKit の両方から、400 日間の制限に対する肯定的なフィードバックがありましたが、どちらも現時点では実装されていません。