web-dev-qa-db-ja.com

Webブラウザのクッキーの鍵の最大サイズはいくつですか?

Webブラウザのクッキーの鍵の最大サイズはいくつですか?

クッキーの最大サイズは4KBですが、キーにも制限がありますか?

274
user77480

4Kの制限は、名前、値、有効期限など、Cookie全体に対するものです。ほとんどのブラウザをサポートする場合は、名前を4000バイト以下に、Cookie全体のサイズを4093バイト以下に抑えることをお勧めします。

注意が必要なことの1つは、名前が大きすぎる場合は(少なくともJavaScriptでは)Cookieを削除できないことです。 Cookieは、更新して期限切れに設定することで削除されます。名前が大きすぎる、4090バイトと言うと、有効期限を設定できないことがわかりました。私はこれを興味深く見ただけで、名前をそれほど大きくするつもりはない。

それについてもっと読むために、ここに一般的なブラウザのための " ブラウザクッキー制限 "があります。


話題にしている間、あなたがほとんどのブラウザをサポートしたいならば、ドメイン当たり50クッキー、そしてドメイン当たり4093バイトを超えないでくださいつまり、すべてのCookieのサイズは4093バイトを超えてはいけません。

つまり、4093バイトのクッキーを1つ、または2045バイトのクッキーを2つ持つことができます。


私はIE7のせいで4095バイトと言っていましたが、今やMobile Safariはクッキーあたり3バイトのオーバーヘッドで4096バイトで入ってくるので、最大4093バイトです。

332
Iain

実際には、Cookieがどのように機能するかを定義した文書であるRFC 2965は、Cookieの機能を定義しています。 クッキーのキーの最大長または値のサイズそして、実装に任意の大きさクッキーをサポートするよう勧めます。各ブラウザの実装の最大数は必然的に異なるため、個々のブラウザのマニュアルを参照してください。

RFC の5.3節「実装上の制限」を参照してください。

101
John Feminella

アプリの仕様でそれが許可されている場合は、Webストレージも使用できます(IE8 +をサポートしています)。

5M(ほとんどのブラウザ)または10M(IE)のメモリを自由に使用できます。

" Web Storage(Second Edition) "がAPIで、 " HTML5 Local Storage "がクイックスタートです。

37
Michael

いくつかのブラウザを自分でテストし、ブラウザショットを使って以下のリストをまとめました。

enter image description here

36

Cookieキー(セッションを識別するために使用される)とCookieは、異なる方法で使用されているものと同じものです。だから限界は同じだろう。 Microsoftによるとその4096バイト。

MSDN

cookieは通常4096バイトに制限されており、サイトごとに20個以上のCookieを保存することはできません。サブキーに1つのクッキーを使用することで、あなたのサイトに割り当てられている20のクッキーのうち、使用するクッキーの数を減らすことができます。さらに、1つのCookieがオーバーヘッド(有効期限情報など)に約50文字を加え、さらにそこに格納する値の長さを合計します。これらはすべて4096バイトの制限の対象となります。 5つの別々のクッキーの代わりに5つのサブキーを保存すると、別々のクッキーのオーバーヘッドを節約でき、約200バイト節約できます。

14
cgreeno