Kalıcı olmamanın ve yalnızca geçerli pencerenin kapsamının dışında olmasının yanı sıra, Yerel Depolama Üzerinden Oturum Depolama Alanının herhangi bir faydası (performans, veri erişimi, vb.) Var mı?
Kalıcı olmamanın ve yalnızca geçerli pencerenin kapsamının dışında olmasının yanı sıra, Yerel Depolama Üzerinden Oturum Depolama Alanının herhangi bir faydası (performans, veri erişimi, vb.) Var mı?
Yanıtlar:
localStorage ve oturumStorage her ikisi de Depolama genişletir . Aralarında amaçlanan "kalıcı olmama" dışında hiçbir fark yoktur sessionStorage
.
Yani, depolanan veriler localStorage
açıkça silinene kadar devam eder . Yapılan değişiklikler kaydedilir ve siteye yapılan mevcut ve gelecekteki tüm ziyaretler için kullanılabilir.
İçin sessionStorage
, değişiklikler yalnızca sekme başına kullanılabilir. Yapılan değişiklikler kaydedilir ve kapatılana kadar o sekmedeki geçerli sayfa için kullanılabilir . Kapatıldıktan sonra, saklanan veriler silinir.
Tek fark, localStorage'ın farklı bir sona erme süresine sahip olması, sessionStorage
yalnızca onu oluşturan pencere açıkken ve erişilebilir olmasıdır. localStorage
siz silene veya kullanıcı silene kadar sürer.
Kullanmak istediğiniz bir giriş adı ve şifreyi kaydetmek istediğini Diyelim sessionStorage
üzerinde localStorage
güvenlik nedeniyle (yani. Daha sonra kendi hesabınıza ulaşma başka bir kişi).
Ancak bir kullanıcının ayarlarını makinelerine kaydetmek isterseniz, büyük olasılıkla istersiniz localStorage
. Neticede:
localStorage
- uzun süreli kullanım için.
sessionStorage
- değişen veya geçici bir şeyi saklamanız gerektiğinde kullanın
Yerel ve oturum depolama alanı arasındaki farkları anlamaya yardımcı olabilecek diğer birkaç nokta
Hem yerel depolama hem de oturum depolama alanı, belgenin kökenine göre kapsamlıdır;
https://mydomain.com/
http://mydomain.com/
https://mydomain.com:8080/
URL Yukarıdakilerin hepsi olacak değil aynı depoyu paylaşırlar. (Web sayfasının uyarı yolu web depolamayı etkilemez)
Oturum depolama hatta farklı sekmelerde açık aynı kökenli politikası, iki farklı sekmelerde yüzden aynı web sayfası açıkken belge için farklı olamaz aynı oturum depolama paylaşır.
Hem yerel hem de oturum depolaması tarayıcı satıcıları tarafından da kapsamlandırılır . IE tarafından kaydedilen depolama verileri Chrome veya FF tarafından okunamaz.
Bu yardımcı olur umarım.
Arasındaki temel fark localStorage
ve sessionStorage
olmasıdır sessionStorage
sekmesi başına benzersizdir. Sekmeyi kapatırsanız sessionStorage
silinir, localStorage
değil. Ayrıca sekmeler arasında iletişim kuramazsınız :)
Bir başka ince bir fark Safari'de (örneğin 8.0.3) olan localStorage
2551 k karakter sınırı vardır ama sessionStorage
sahip sınırsız depolama
Chrome (V43) üzerinde hem localStorage
ve sessionStorage
5101 k karakterleri (normal / gizli modda arasında hiçbir fark) ile sınırlıdır
Firefox üzerinde hem localStorage
ve sessionStorage
5120 k karakterleri (normal / özel mod arasında hiçbir fark) ile sınırlıdır
Hız farkı yok :)
Mobil Safari ve Mobil Chrome ile ilgili bir sorun var, Özel Mod Safari ve Chrome'da maksimum 0KB alan var
sessionStorage
localStorage
yalnızca bir oturum için verileri depolaması dışında kullanıcıyla aynıdır ve kullanıcı onu oluşturan tarayıcı penceresini kapattığında kaldırılır.
performans açısından, (kaba) ölçümlerim 1000 yazma ve okumada hiçbir fark bulamadı
akıllıca, sezgisel olarak localStore oturumu kapatılmış gibi görünebilir, ancak somut bir kanıt yok - belki başka biri yapar?
işlevsel olarak digitalFresh ile uyumlu
Oturum depolama alanı ve yerel depolama aynı davranıştadır, ancak yerel depolama alanı, kullanıcı önbelleği ve çerezleri silene kadar verileri depolar ve oturum depolama verileri, biz kapatana kadar i, e oturumunu kapatana kadar sistemde kalır. oturum depolama alanı oluşturuldu penceresi.
Bence, oturum depolamanın yerel depolamaya göre avantajı, Firefox'ta sınırsız kapasiteye sahip olması ve oturumdan daha uzun sürmeyecek olmasıdır. (Tabii ki hedefinizin ne olduğuna bağlı.)
Yerel depolama: Kullanıcı bilgi verilerini son kullanma tarihi olmadan saklar Bu kullanıcı tarayıcı pencerelerini kapattığında gün, hafta, ay ve yıl için mevcut olacak bu veriler silinmeyecektir.
//Set the value in a local storage object
localStorage.setItem('name', myName);
//Get the value from storage object
localStorage.getItem('name');
//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege
Oturum Depolaması: Bir web kullanıcısı tarafından tarayıcı pencereleri kapatıldığında tüm pencereleri silmesi dışında yerel depolama tarihi ile aynıdır.
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
Devamını Oku Tıklayın
sessionStorage
verilen her bir kaynak için sayfa oturumu boyunca kullanılabilen ayrı bir depolama alanı tutar (tarayıcı açık olduğu sürece, sayfa yeniden yükleme ve geri yükleme dahil)
localStorage
aynı şeyi yapar, ancak tarayıcı kapatılıp yeniden açıldığında bile devam eder.
Bunu https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API adresinden aldım.