Sobes.tech
Junior

Cookies, sessionStorage ve localStorage arasındaki farkı açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Mekanizma Yaklaşık Boyut Ömür Erişim Sunucuya Gönderilir Kullanım
Cookies 4 KB Sunucu veya tarayıcı tarafından belirlenen son kullanma tarihi Mevcut belge ve alt alanlar (ayarlara bağlı olarak) Her HTTP isteğiyle Kimlik doğrulama, izleme, kullanıcıya özel ayarlar
localStorage 5-10 MB Süresiz (kullanıcı silene kadar) Sadece mevcut origin (protokol, alan adı, port) Hayır Kullanıcı ayarlarının ve uygulama durum verilerinin saklanması
sessionStorage 5-10 MB Tarayıcı sekmesi/penceresi kapatılana kadar Sadece mevcut origin (protokol, alan adı, port) Hayır Kullanıcı oturumu sırasında geçici veri saklama

Cookies:

  • Her HTTP isteğiyle sunucuya gönderilir, bu da trafiği artırabilir.
  • Ana amaç: kullanıcı tanımlama (oturum çerezleri), tercihler, kullanıcı etkinliği takibi.
  • Hem istemci tarafında (JavaScript) hem de sunucu tarafında kullanılabilir.
  • Alan adı ve yol ile sınırlandırılabilir.
  • Otomatik sunucuya gönderildiği için hassas veriler için daha az güvenlidir.

localStorage:

  • Veriler kullanıcının tarayıcısında yerel olarak saklanır.
  • Her istekte sunucuya gönderilmesi gerekmeyen kalıcı veri saklama için kullanılır.
  • Basit bir JavaScript API'sine sahiptir.
  • Veriler anahtar-değer çiftleri olarak saklanır.
  • Diğer origin'lerden erişilemez.
// Değer ayarla
localStorage.setItem('username', 'john.doe');

// Değeri al
let username = localStorage.getItem('username');

// Değeri sil
localStorage.removeItem('username');

// Tüm localStorage'ı temizle
localStorage.clear();

sessionStorage:

  • localStorage'a benzer, ancak veriler sadece mevcut sekme veya pencere kapatılana kadar saklanır.
  • Kullanıcı oturumu ile ilgili geçici verilerin saklanması için idealdir (örneğin, form verileri, alışveriş sepeti).
  • Aynı zamanda basit bir JavaScript API'sine sahiptir, localStorage ile benzerdir.
  • Veriler sadece mevcut origin'de erişilebilir.
// Değer ayarla
sessionStorage.setItem('sessionId', 'abc123');

// Değeri al
let sessionId = sessionStorage.getItem('sessionId');

// Değeri sil
sessionStorage.removeItem('sessionId');

// Tüm sessionStorage'ı temizle
sessionStorage.clear();