Cookieの個数の上限

Operaで、はてなブックマークAutoPagerizeの設定などが維持されなくなったので、その原因を調べたら(1ドメインあたりの)Cookieの上限数を超えていた*1からだったみたい。

クッキーは、「名前=値」の1つの組みを1個と数えます。変数1個がクッキー1個に相当します。Netscapeの仕様およびRFC 2109(obsolete)によると、クライアントは1つのホストまたはドメイン名につき最低でも20個のクッキーをサポートする必要があります。20個の変数が使えることになります。

http://www.teria.com/~koseki/memo/cookie/cookie_4k.html

の通り、仕様上の制限は知っていたけど、実装がどうなっているのかを(大きさでではなく)数の制限について調べてみた。

ブラウザ 個数
IE6/7 50
Firefox3.0.5 50
Opera9.63 30
Opera11.01 60
Safari3.2.1(win) 無制限?
Google Chrome 50-70?
  • 基本的に、古いのから消えていく。
  • IEは20のバージョンもあるらしい http://support.microsoft.com/kb/941495/ja
  • Safari3は1万個発行できたので、実質の制限はなさそう。(Macについては今は手元にないので後で調べる。かも。)
  • Google Chromeはなぜか個数がランダム。
  • Operaは11.01で確認したところ60個に増えていました。どのバージョンから増えたのかは確認していません。

もちろん、一個当たりのCookieのサイズが大きい場合、保存できる数も少なくなります。

ttp://ss-o.net/test/cookie.html でテストできますが、cookieをそのまま表示するので一応注意。

少々古いですが、クッキーの最大サイズ制限についても参考に。

*1:with_favoritesって名前のCookieがやたらたくさん発行されていた