
JavaScript ile Web Storage API Kullanımı (localStorage, sessionStorage)
Giriş
Web geliştirme dünyasında, kullanıcı verilerini tarayıcıda depolamak, modern uygulamalar için kritik bir rol oynamaktadır. Web Storage API, verileri tarayıcıda depolamanın kolay ve etkili bir yolunu sunar. Bu API, verileri kullanıcının tarayıcısında saklamanızı sağlar ve sayfa yenilenmeleri veya oturum bitimleri arasında veri kaybını önler.
Web Storage API, iki ana bileşenden oluşur: localStorage ve sessionStorage. Her ikisi de anahtar-değer çiftlerini depolamak için kullanılır, ancak aralarındaki farklar, verilerin ne kadar süreyle saklandığıyla ilgilidir.
Bu yazıda, Web Storage API’yi tanıyacak, nasıl çalıştığını öğrenecek ve localStorage ile sessionStorage arasındaki farkları detaylı bir şekilde inceleyeceğiz. Ayrıca her iki API'yi kullanarak örnekler sunacağız.
Web Storage API Nedir?
Web Storage API, tarayıcıda veri depolamanın bir yoludur. localStorage ve sessionStorage olmak üzere iki ana depolama alanı sunar. Bu API, JavaScript ile kolayca etkileşimde bulunulabilir ve verileri saklamak, almak ve silmek gibi işlemler yapılabilir.
Her iki depolama alanı da anahtar-değer çiftleri şeklinde veri saklar. Bu, verilerin doğrudan JavaScript üzerinden yönetilmesini sağlar.
Web Storage API’nin Avantajları:
- Veri Kalıcılığı: Veriler tarayıcıda saklanır ve sayfa yenilenmeleri arasında kaybolmaz.
- Kolay Kullanım: Veriler anahtar-değer çiftleri şeklinde saklanır, bu da erişimi kolaylaştırır.
- Hızlı Erişim: Verilere hızlı bir şekilde erişebilirsiniz.
localStorage ve sessionStorage Arasındaki Farklar
localStorage
- Veri Süresi: Veriler kalıcıdır, yani tarayıcı kapatılıp açılsa bile veriler kaybolmaz.
- Depolama Alanı: Genellikle 5-10 MB arasında depolama alanı sunar.
- Erişim: Verilere her sayfa yenilendiğinde veya tarayıcıyı kapatıp açtığınızda erişebilirsiniz.
sessionStorage
- Veri Süresi: Veriler sadece bir oturum (sayfa) boyunca saklanır. Tarayıcı veya sekme kapatıldığında veriler kaybolur.
- Depolama Alanı: Genellikle 5-10 MB arasında depolama alanı sunar.
- Erişim: Sadece mevcut oturum (sayfa) boyunca erişilebilir. Farklı sekmeler veya pencerelerde erişilemez.
Web Storage API Kullanımı
Web Storage API ile veri saklamak, almak ve silmek oldukça basittir. İşte temel yöntemler:
1. localStorage Kullanımı
localStorage, verilerin kalıcı olarak saklanmasını sağlar. Kullanıcı sayfayı yenilese ya da tarayıcıyı kapatıp açsa bile veriler silinmez.
Veri Saklama
Veri saklamak için localStorage.setItem()
metodunu kullanabilirsiniz:
// Veriyi saklama
localStorage.setItem('username', 'JohnDoe');
Veri Alma
Veriyi almak için localStorage.getItem()
metodunu kullanabilirsiniz:
// Veriyi alma
let username = localStorage.getItem('username');
console.log(username); // Çıktı: JohnDoe
Veri Silme
Bir veriyi silmek için localStorage.removeItem()
metodunu kullanabilirsiniz:
// Veriyi silme
localStorage.removeItem('username');
Tüm Verileri Temizleme
Tüm verileri silmek için localStorage.clear()
metodunu kullanabilirsiniz:
// Tüm verileri silme
localStorage.clear();
Örnek: Kullanıcı Bilgilerini Saklama
// Kullanıcı bilgilerini saklama
localStorage.setItem('user', JSON.stringify({ name: 'John', age: 30 }));
// Veriyi alma
let user = JSON.parse(localStorage.getItem('user'));
console.log(user.name); // John
console.log(user.age); // 30
2. sessionStorage Kullanımı
sessionStorage, verilerin sadece geçerli tarayıcı oturumu süresince saklanmasını sağlar. Sayfa yenilendikçe veriler sıfırlanmaz, ancak oturum (sekme) kapatıldığında kaybolur.
Veri Saklama
Veri saklamak için sessionStorage.setItem()
metodunu kullanabilirsiniz:
// Veriyi saklama
sessionStorage.setItem('sessionKey', 'sessionValue');
Veri Alma
Veriyi almak için sessionStorage.getItem()
metodunu kullanabilirsiniz:
// Veriyi alma
let sessionValue = sessionStorage.getItem('sessionKey');
console.log(sessionValue); // sessionValue
Veri Silme
Bir veriyi silmek için sessionStorage.removeItem()
metodunu kullanabilirsiniz:
// Veriyi silme
sessionStorage.removeItem('sessionKey');
Tüm Verileri Temizleme
Tüm verileri silmek için sessionStorage.clear()
metodunu kullanabilirsiniz:
// Tüm verileri silme
sessionStorage.clear();
Örnek: Sayfa Yenileme Durumunda Veri Saklama
// Oturum bilgilerini saklama
sessionStorage.setItem('loginStatus', 'loggedIn');
// Veriyi alma
let status = sessionStorage.getItem('loginStatus');
console.log(status); // loggedIn
localStorage ve sessionStorage Arasındaki Farkları Anlamak
Özellik | localStorage | sessionStorage |
---|---|---|
Veri Süresi | Kalıcı (Tarayıcı kapalı olsa bile veri saklanır) | Geçici (Sekme kapatıldığında veri kaybolur) |
Depolama Alanı | 5-10 MB | 5-10 MB |
Erişim | Aynı domain üzerindeki tüm sayfalardan erişilebilir | Sadece o anki oturumda erişilebilir |
Performans ve Güvenlik
Web Storage API verileri tarayıcıda sakladığı için, bu verilerin güvenliği de önemlidir. Özellikle hassas verileri (parolalar, kimlik bilgileri vb.) localStorage veya sessionStorage gibi yerlerde saklamaktan kaçının. Bu tür veriler için daha güvenli yöntemler (örneğin, sunucu tarafı oturum yönetimi) tercih edilmelidir.
Performans İpuçları:
- Web Storage API ile veri saklarken gereksiz veri miktarından kaçının.
- Büyük verileri (örneğin, büyük resimler veya medya dosyaları) saklamak için Web Storage API yerine IndexedDB kullanabilirsiniz.
- Veriyi sık sık güncellemeniz gerekiyorsa, her güncellemede yeni veri yerine sadece değişen kısmı saklamak daha performanslı olacaktır.
Sonuç
Web Storage API, tarayıcı üzerinde veri saklamak için güçlü ve basit bir yöntemdir. localStorage ve sessionStorage kullanarak verilerinizi etkili bir şekilde saklayabilir ve yönetebilirsiniz. localStorage, verilerin kalıcı olarak saklanmasını sağlarken, sessionStorage sadece geçici oturumlar için uygundur.
Verilerinizi doğru ve güvenli bir şekilde saklamak, modern web uygulamalarının performansını ve kullanıcı deneyimini artıracaktır. Ancak, hassas verileri Web Storage ile saklamaktan kaçınmak önemlidir.
Yorum Yap