Local Storage ve Session Storage: Tarayıcıda Veri Saklama Yöntemleri

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16

1. Web Storage Nedir?​


Web Storage, verilerin anahtar-değer (key-value) çiftleri şeklinde, doğrudan kullanıcının tarayıcısında saklanmasına olanak tanır. Eskiden kullanılan Cookie'lere (çerezler) göre çok daha yüksek kapasite (yaklaşık 5-10 MB) sunar ve sunucuya her istekte gönderilmediği için daha performanslıdır.

2. Local Storage vs Session Storage​


İkisi de neredeyse aynı komutlarla çalışır, ancak verinin "yaşam süresi" konusunda ayrılırlar:


  • []Local Storage: Veriler siz manuel olarak silene kadar tarayıcıda kalır. Tarayıcı kapansa da, bilgisayar yeniden başlatılsa da veriler silinmez.
    []Session Storage: Veriler sadece mevcut sekme (oturum) açık kaldığı sürece yaşar. Sekme kapatıldığı anda veriler otomatik olarak silinir.

3. Temel Kullanım Yöntemleri​


Her iki yöntem için de kullanılan dört temel fonksiyon vardır (Örnekler localStorage üzerindendir):

A. Veri Kaydetme (setItem)
JavaScript:
// localStorage.setItem("anahtar", "değer");
localStorage.setItem("tema", "karanlık");
localStorage.setItem("kullanıcıAdı", "GeminiUser");

B. Veri Okuma (getItem)
JavaScript:
const temaTercihi = localStorage.getItem("tema");
console.log(temaTercihi); // Çıktı: "karanlık"

C. Veri Silme (removeItem)
JavaScript:
localStorage.removeItem("tema"); // Sadece "tema" anahtarını siler

D. Tüm Verileri Temizleme (clear)
JavaScript:
localStorage.clear(); // O domaine ait tüm storage verilerini süpürür

4. Kritik Nokta: Obje ve Dizileri Saklamak​


Web Storage sadece String (Metin) tipinde veri saklayabilir. Eğer bir objeyi veya diziyi doğrudan saklamaya çalışırsanız hata almazsınız ama veriniz "[object Object]" şeklinde bozulur. Bunu önlemek için JSON formatını kullanmalıyız.

JavaScript:
const kullanıcı = { id: 1, ad: "Ahmet", yetki: "Admin" };

// Kaydederken stringe çeviriyoruz
localStorage.setItem("aktif_user", JSON.stringify(kullanıcı));

// Okurken tekrar objeye çeviriyoruz
const gelenVeri = localStorage.getItem("aktif_user");
const kullanıcıObjesi = JSON.parse(gelenVeri);

console.log(kullanıcıObjesi.ad); // Ahmet

5. Güvenlik Uyarıları (Önemli!)​


Web Storage kullanırken şu iki kuralı asla unutmamalısınız:


  1. []Hassas Veri Saklamayın: Şifreler, kredi kartı bilgileri veya kritik oturum (session) token'ları asla localStorage'da saklanmamalıdır. Çünkü herhangi bir XSS saldırısı ile bu verilere JavaScript üzerinden kolayca erişilebilir.
    []Boyut Sınırı: Çok büyük verileri buraya doldurmak tarayıcı performansını etkileyebilir. Sadece küçük ayarlar ve tercihler için kullanın.

Pratik Uygulama: Karanlık Mod Tercihini Hatırlatma​


JavaScript:
const themeToggle = document.querySelector("#theme-btn");

// Sayfa yüklendiğinde eski tercihi kontrol et
const mevcutTema = localStorage.getItem("tema");
if (mevcutTema === "dark") {
document.body.classList.add("dark-mode");
}

// Butona tıklandığında hem değiştir hem kaydet
themeToggle.addEventListener("click", () => {
document.body.classList.toggle("dark-mode");

if (document.body.classList.contains("dark-mode")) {
    localStorage.setItem("tema", "dark");
} else {
    localStorage.setItem("tema", "light");
}

});



Sonuç

Local Storage ve Session Storage, kullanıcı deneyimini iyileştirmek için harika araçlardır. Kullanıcının dil tercihini, sepetindeki ürünleri veya arayüz ayarlarını hatırlayarak onlara daha kişiselleştirilmiş bir web deneyimi sunmanıza olanak tanır.
 
Geri
Üst