COMPANY SERVICE STAFF BLOG NEWS CONTACT
2026.03.19

Q.ChromeのドメインごとのCookieの最大数はどこで決まってる? A. クッキー☆モンスター

雑記

こんにちは、のすけです!

身近でCookieの最大サイズが話題にあがり、その時に自分のCookieの制限に対する認識がわりとぼんやりしていることに気づき
興味が湧いたので少し調べました!
(Cookieの制限はブラウザによって異なるのですが、一旦普段使っているブラウザについて知りたかったので範囲はChromeに絞りました。)

Cookieの最大数

調べていてとくに気になったのが、ドメインごとのCookieの最大数です。
今までCookieのサイズや有効期限を意識することはあったのですが、Cookieの最大数はあまり意識したことがなく
認識があやふやだったからです。

調べたところ、どうやらChromeでは
 ドメインごとのCookieの最大数は 180件 で
 Cookieが最大数を超えると優先度の低いCookieを 30件 削除する

という挙動になっているようです。

実際にChromeで実験してみたところ確かにそのような挙動でした。

確認していて少し引っかかった点として
Chrome の「デベロッパーツール > アプリケーション > Cookie」 でCookie追加時の挙動を確認していると
「180件に到達しなくても数30件の削除が発生しているように見えることがある」というのがありました。
これは、別パス等で保存されたCookieがツール画面上に表示されていないだけで、ドメイン全体の合計では180件に達しているためです。
※シークレットウィンドウで単一ページを開いて検証すると挙動が分かりやすいです。

元を見に行く

こちらの値に関して、ざっと調べた限りChrome公式で言及している文章は見当たらず
有志の記事も、実験的に調べた情報が主のようだったので
せっかくなのでこの数値の大元を知りたくなったので確認してみることにしました。
といってもChromeはオープンソースじゃなく、それ自体のコードは確認できないので
その元になってるChromiumの方を見に行きました。

GitHubから1.6GBくらいのリポジトリをクローンした後に知ったのですが
Chromiumには、Googleが提供するコード検索サービス「Chromium Code Search」があり
試しに使ってみたらかなりレスポンスが良く、複数キーワード検索とかも出来て良い感じでした。
実際「cookie 180」みたいなぼんやりした検索ワードであっさり該当箇所が見つかりました。便利!

出典:Chromium Code Search [URL : https://source.chromium.org/chromium/chromium/src/+/main:net/cookies/cookie_monster.cc;l=228]

……

CookieMonster……?

CookieMonster

急に飛び出してきた遊び心ある命名が気になって仕方ありませんが
どうやらこれはChromiumのCookie周りの処理ためのクラスのようです。
Chromiumのドキュメント : CookieMonster

ドメインごとのCookieの最大数や、超過時の削除数は
そのクラスの定数として定義されていました。

ついでに気になって調べたのですが、この値は2010年の9月ごろから使われていたようです。
(調べていると記事によって記載している最大数が違う場合があり気になっていたのですが、前述のパスのものと含めてなぜ異なっていたのか納得できました。)
それより前ではホスト単位で最大数70件だったのが
コミット : https://github.com/chromium/chromium/commit/7a964a7f1edad8c8b9ef4391073b10cd84821485
の変更により
ドメイン単位(eTLD+1) で最大数180件の今の値になったようです。

・変更前 : Aug 28, 2010 : 変更前の状態のファイル

const size_t kNumCookiesPerHost      = 70;  // ~50 cookies
const size_t kNumCookiesPerHostPurge = 20;

・変更後 : Sep 8, 2010 : 変更後の状態のファイル

const size_t CookieMonster::kDomainMaxCookies = 180;
const size_t CookieMonster::kDomainPurgeCookies = 30;

またこのCookieMonster、何時頃から存在しているんだろうと確認したらGitHubのChromiumのリポジトリでさかのぼれる
最も古いコミット(Jul 27, 2008)の時点で存在していた模様。

以前書いたDockerのコンテナ名のこともあって
歴の長いオープンソースのコード、昔から残ってる箇所に遊びの命名やコードがまぎれがちという偏見が生まれつつあります…!

おわりに

調べてみて色々と勉強になりました。
ドメインごとにCookieの最大数が決まっていること
Cookieの数が超過した場合の処理
そしてそれにはクッキーモンスターの働きが関わっているということ……

~完~


* タイトルについてですが正確には「Chromium系ブラウザのeTLD+1ごとのCookieの最大数はどこで決まってる?」ですね…

この記事を書いた人

のすけ

入社年
2019年
出身地
神奈川
業務内容
システム開発
特技・趣味
読書、ゲーム、アニメ

雑記に関する記事一覧