Bir web tarayıcısının çerez anahtarının maksimum boyutu nedir?


300

Bir web tarayıcısının çerez anahtarının maksimum boyutu nedir?

Bir çerezin maksimum boyutunun 4KB olduğunu biliyorum, ancak anahtarın da bir sınırlaması var mı?

Yanıtlar:


359

Okuduğunuz 4K sınırı, ad, değer, son kullanma tarihi vb. Dahil tüm çerez içindir. Çoğu tarayıcıyı desteklemek istiyorsanız, adı 4000 baytın altında ve genel çerez boyutunu 4093 baytın altında tutmanızı öneririz.

Dikkat edilmesi gereken bir şey var: ad çok büyükse çerezi silemezsiniz (en azından JavaScript'te). Bir çerez güncellenerek ve süresinin dolmasına ayarlanarak silinir. Ad çok büyükse, örneğin 4090 bayt, bir son kullanma tarihi ayarlayamadığımı fark ettim. Bu kadar ilgi çekmedim, o kadar büyük bir isme sahip olmayı planladığımdan değil.

Bununla ilgili daha fazla bilgi edinmek için, yaygın olarak kullanılan tarayıcılar için " Tarayıcı Çerezi Sınırları ".


Konudayken, çoğu tarayıcıyı desteklemek istiyorsanız, alan adı başına 50 çerez ve alan adı başına 4093 baytı aşmayın . Yani, tüm çerezlerin boyutu 4093 baytı aşmamalıdır.

Bu, 1 çerez 4093 bayt veya 2 çerez 2045 bayt vb. Olabileceğiniz anlamına gelir.


IE7 nedeniyle 4095 bayt derdim, ancak şimdi Mobile Safari, çerez başına 3 bayt ek yükü olan 4096 bayt ile geliyor, bu yüzden maksimum 4093 bayt.


14
4K sınırı belirli bir alan altındaki tüm çerezleri ifade eder; bu nedenle bu sınıra ulaşıldığında yeni bir çerez oluşturamazsınız.
ulkas

6
@ulkas: Bunu şimdi ekledim. Sınıra ulaşıldığında, birçok tarayıcıda yeni çerezler oluşturabildiğinizi gözlemledim, ancak mevcut olanlardan bir demet silinecek.
Iain

1
Not: RFC 2965 kullanılmamıştır ve RFC 6265 ile değiştirilmiştir. Sınırlar bölümü büyük ölçüde değişmemiştir (bkz: tools.ietf.org/html/rfc6265#section-6.1 ), ancak RFC 6265 artık standart kaynaktır.
Jim OHalloran

107

Aslında, çerezlerin nasıl çalıştığını tanımlayan belge olan RFC 2965, bir çerezin anahtarının veya değer boyutunun maksimum uzunluğunun olmaması gerektiğini belirtir ve keyfi olarak büyük çerezleri desteklemeye yönelik uygulamaları teşvik eder . Her tarayıcının uygulama maksimum değeri mutlaka farklı olacaktır, bu nedenle tek tek tarayıcı belgelerine bakın.

Bölümüne 5.3, "Uygulama Sınırları", Bkz RFC .


13
Her zamanki gibi, "spec" ve "real-world" tamamen farklı görünüyor. Çerezler HER http isteği ile gönderildiğinden, aslında sınırlar olması iyi bir şeydir.
BenSwayne

3
Gerçekte sınırlar varsa, bu oldukça işe yaramaz bir özellik! Yine de bu "doğru" cevap!
Sınırlı Kefaret

3
Tarayıcıların neden bu spesifikasyona uymamayı seçtiklerini anlamıyorum. LocalStorage gibi şeyler zaten mevcut olduğunda, bir çerez içine 4KB'den (o kadar da fazla değil) daha fazlasını dökmemem için hiçbir neden yok.
William

1
Not: RFC 2965 kullanılmamıştır ve RFC 6265 ile değiştirilmiştir. Sınırlar bölümü büyük ölçüde değişmemiştir (bkz: tools.ietf.org/html/rfc6265#section-6.1 ), ancak RFC 6265 artık standart kaynaktır.
Jim OHalloran

42

Birkaç tarayıcıyı kendim test ettikten ve Tarayıcı Çekimlerini kullandıktan sonra aşağıdaki listeyi derledim

resim açıklamasını buraya girin


3
18-02-2017 LOL'de cevaplandı, ancak Sürümler çok daha eski Çıktı.
Ajmal Praveen

3
@AjmalPraveen Bunun nedeni, bu cevabın bu siteden kopyalanması (daha önce de söylediğin gibi eski bir versiyona rağmen). Bir kaynak iyi olurdu, bu yüzden ilgilenen insanlar daha güncel bir kaynağa bakabilirler
Robby Groot

4
Bu kesin tablo güncellenir ve şu
adresten

39

Uygulama özellikleri size izin veriyorsa web depolama alanını da kullanabilirsiniz (IE8 + desteği vardır).

Bu sahiptir 5M (çoğu tarayıcı) veya 10M elindeki bellek (IE).

" Web Depolama (İkinci Sürüm) " API ve " HTML5 Yerel Depolama " hızlı bir başlangıçtır.


4
Burada muhtemelen web depolama kullanmak için bir uyarı, geçici bir çözüm olmadan web depolamada depolanan verilerin yalnızca HTTP VEYA HTTPS'de saklanabileceği / bunlardan erişilebileceği, ancak bunlar arasında paylaşılamayacağı (aynı site için bile) olduğu belirtilmelidir.
ilasno

2
@ilasno Afaik, geleneksel çerezler için de aynı sınırlama vardır.
Steve Midgley

En önemli uyarı, web depolama yerine oturum depolama ve yerel depolamaya sunucudan değil, yalnızca tarayıcıdan erişilebilir. Bu, tarayıcı ve sunucuda okunabilen çerezler ve çerezler arasında seçim yaparken kesinlikle dikkate alınması gereken bir şeydir.
Vadorequest

16

Bir çerez anahtarı (bir oturumu tanımlamak için kullanılır) ve bir çerez farklı şekillerde kullanılanlarla aynıdır. Yani sınır aynı olurdu. Microsoft'a göre 4096 bayt.

MSDN

çerezler genellikle 4096 bayt ile sınırlıdır ve site başına 20'den fazla çerez depolayamazsınız. Alt anahtarlı tek bir çerez kullanarak, sitenizin tahsis edildiği 20 çerezden daha azını kullanırsınız. Ek olarak, tek bir çerez ek yük için yaklaşık 50 karakter alır (süre sonu bilgileri vb.) Artı, içinde sakladığınız değerin uzunluğu, hepsi 4096 bayt sınırına kadar sayar. Beş ayrı çerez yerine beş alt anahtar depolarsanız, ayrı çerezlerin ek yükünü kaydedersiniz ve yaklaşık 200 bayt tasarruf edebilirsiniz.


7
Bu arada, sizinle oynamak için yaklaşık 4KB tarayıcı çerez depolama alanına sahip olmanız, bunun iyi bir fikir olup olmadığını ciddi olarak düşünmelidir.
NotMe

Alan adı / site başına çerez sayısının 20'den fazla olup olmadığını onaylayabilir misiniz? ya da şimdi arttı mı?
Mutant

2

Tamamen orijinal soruya doğrudan bir cevap değil, ancak karmaşık bir sınırlayıcı algoritması uygulamadan çerez bilgileri depolama planlamasını görsel olarak anlamaya çalışan meraklılarla ilgili olan bu dize 4096 ASCII karakter baytıdır:

"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.