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


300

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

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

回答:


359

あなたが読んだ4Kの制限は、名前、値、有効期限などを含むCookie全体に対するものです。ほとんどのブラウザをサポートしたい場合は、名前を4000バイト未満に、全体のCookieサイズを4093バイト未満に保つことをお勧めします。

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

詳しくは、一般的なブラウザの「ブラウザCookieの制限」をご覧ください。


この件に関して、ほとんどのブラウザをサポートする場合は、ドメインあたり50 Cookieを超えず、ドメインあたり4093バイトを超えないようにしてください。つまり、すべてのCookieのサイズが4093バイトを超えてはなりません。

つまり、4093バイトのCookieが1つ、または2045バイトのCookieが2つあるなどです。


以前はIE7のせいで4095バイトと言っていましたが、Mobile Safariには4096バイトが含まれ、Cookieごとに3バイトのオーバーヘッドがあるため、最大で4093バイトです。


14
4Kの制限とは、特定のドメインのすべてのCookieを指します。したがって、この制限に達すると、新しいCookieを作成できなくなる可能性があります。
ulkas 2013年

6
@ulkas:今追加しました。制限に達すると、多くのブラウザで新しいCookieを作成できますが、既存のCookieの多くが削除されます。
Iain

1
注:RFC 2965は廃止され、RFC 6265に置き換えられました。制限セクションはほとんど変更されていませんが(参照:tools.ietf.org/html/rfc6265#section-6.1)、RFC 6265が正規のソースになりました。
ジムOHalloran

107

実際、Cookieの動作を定義するドキュメントであるRFC 2965では、Cookieのキーまたは値のサイズ最大長を設定しないように指定しており、実装が任意の大きな Cookie をサポートするように推奨しています。各ブラウザの実装の最大値は必然的に異なるため、個々のブラウザのドキュメントを参照してください。

RFCのセクション5.3、「実装の制限」を参照してください。


13
いつものように、「スペック」と「実世界」は完全に異なるようです。クッキーはすべてのhttpリクエストで送信されるため、実際には制限があるのは良いことです。
BenSwayne 2013年

3
実際には制限がある場合、それはかなり役に立たない仕様です!ただし、これは「正解」の答えです!
限定的な償い

3
ブラウザがこの仕様に従わないことを選択する理由がわかりません。localStorageのようなものがすでに存在する場合、Cookieに4KB(それほど多くない)をダンプできないはずがある理由はありません。
ウィリアム

1
注:RFC 2965は廃止され、RFC 6265に置き換えられました。制限セクションはほとんど変更されていませんが(参照:tools.ietf.org/html/rfc6265#section-6.1)、RFC 6265が正規のソースになりました。
ジムOHalloran

42

いくつかのブラウザーを自分でテストし、ブラウザーショットを使用した後、次のリストを作成しました

ここに画像の説明を入力してください


3
18-02-2017 LOLで回答されていますが、そのバージョンは非常に古いです。
Ajmal Praveen 2017

3
@AjmalPraveenこれは、この回答がこのサイトからコピーされたためです(あなたが言ったように、古いバージョンですが)。ソースが良かったので、興味のある人はより最新のソースを見ることができます
Robby Groot 2017年

4
この正確なテーブルは更新され、browsercookielimits.squawky.net
gskema

39

アプリの仕様で許可されていれば、ウェブストレージも使用できます(IE8 +をサポートしています)。

それは持ってい5M(ほとんどのブラウザ)または10Mその処分でメモリの(IE)を。

Web Storage(Second Edition)」はAPIであり、「HTML5 Local Storage」はクイックスタートです。


4
Webストレージを使用する際の注意点は、回避策がないと、Webストレージに保存されたデータはHTTPまたはHTTPSにのみ保存またはアクセスできるが、それらの間で共有できない(同じサイトであっても)ことです。
ilasno 14年

2
@ilasno Afaikでは、従来のCookieと同じ制限があります。
Steve Midgley、2014

最も重要な注意点は、Webストレージではなく、セッションストレージとローカルストレージにアクセスできるのは、サーバーからではなく、ブラウザーからのみです。これは、ブラウザーとサーバーの両方で読み取り可能なCookieとCookieのどちらかを選択する際に考慮する必要があることは間違いありません。
Vadorequest

16

Cookieキー(セッションの識別に使用)とCookieは、同じものを別の方法で使用しています。したがって、制限は同じになります。Microsoftによると、その4096バイト。

MSDN

Cookieは通常4096バイトに制限されており、サイトごとに20を超えるCookieを保存することはできません。サブキーを持つ単一のCookieを使用することで、サイトに割り当てられている20個のCookieのうち、使用するものを少なくすることができます。また、1つのCookieはオーバーヘッド(有効期限情報など)に約50文字を加え、そこに格納する値の長さを加えます。これらはすべて、4096バイトの制限にカウントされます。5つの個別のCookieではなく5つのサブキーを保存すると、個別のCookieのオーバーヘッドが節約され、約200バイトを節約できます。


7
ちなみに、ブラウザのCookieストレージが4KB程度あるからといって、それが良いアイデアかどうかを真剣に検討する必要があります。
NotMe 2009年

ドメイン/サイトごとにCookieの数が20を超えないかどうかを確認できますか?それとも今までに増加したのですか?
ミュータント

2

元の質問に対する完全に直接的な回答ではありませんが、複雑なリミッターアルゴリズムを実装せずにCookie情報のストレージ計画を視覚的に理解しようとする好奇心が強い人に関連する、この文字列は4096 ASCII文字バイトです。

"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.