Cookie, Local Storage ve Session Storage: Web Teknolojilerinde Veri Yönetimi

3

Gülnisa Demir

 9 dk. ·  09 Ağu

42kraft
İÇİNDEKİLER
BU YAZIYI PAYLAŞIN

Tanım: Cookie, web sunucusunun tarayıcıya gönderdiği ve tarayıcıda saklanan küçük veri parçalarıdır. Genellikle kullanıcı bilgilerini ve site tercihlerini saklamak için kullanılır.

Özellikler:

  • Boyut: Genellikle 4 KB'a kadar veri saklanabilir.
  • Ömür: Belirli bir süre geçerli olacak şekilde ayarlanabilir. Süre dolduğunda otomatik olarak silinir. Ayrıca, kalıcı (persistent) ya da geçici (session) olarak ayarlanabilir.
  • Erişim: Sunucu tarafında okunabilir ve yazılabilir. Ayrıca, JavaScript ile istemci tarafında da erişilebilir.
  • Güvenlik: HTTPS ile güvenli bir şekilde iletilmelidir. Cookies, güvenlik riskleri taşıyabilir, bu yüzden dikkatli kullanılmalıdır.
  • Örnek Kullanım: Kullanıcı kimlik doğrulama bilgileri, oturum bilgileri, kullanıcı tercihleri.

Kullanım Örneği:

2. Local Storage

Tanım: Local Storage, web tarayıcısında kalıcı olarak veri saklamak için kullanılan bir yöntemdir. Veriler tarayıcı kapatıldığında bile saklanır.

Özellikler:

  • Boyut: Genellikle 5 MB'a kadar veri saklanabilir.
  • Ömür: Veriler, kullanıcı tarayıcıyı kapatsa bile saklanır. Kullanıcı verileri manuel olarak silene kadar kalır.
  • Erişim: Sadece JavaScript ile istemci tarafında erişilebilir. Sunucu tarafında erişilemez.
  • Güvenlik: Veriler, tarayıcıda saklandığı için güvenli değildir. Hassas bilgiler saklanmamalıdır.
  • Örnek Kullanım: Kullanıcı tercihleri, uygulama durumu.

Kullanım Örneği:

3. Session Storage

Tanım: Session Storage, sadece bir tarayıcı oturumu süresince veri saklamak için kullanılır. Tarayıcı penceresi kapatıldığında veri kaybolur.

Özellikler:

  • Boyut: Genellikle 5 MB'a kadar veri saklanabilir.
  • Ömür: Veri, tarayıcı penceresi kapatıldığında veya oturum sonlandırıldığında silinir.
  • Erişim: Sadece JavaScript ile istemci tarafında erişilebilir. Sunucu tarafında erişilemez.
  • Güvenlik: Veriler tarayıcıda saklandığı için güvenli değildir. Hassas bilgiler saklanmamalıdır.
  • Örnek Kullanım: Oturum bilgileri, geçici veriler.

Kullanım Örneği:

Karşılaştırma

Cookie, Local Storage, ve Session Storage'i karşılaştıralım.

1. Depolama Süresi

  • Cookie: Çoğu zaman belirli bir süre için geçerli olacak şekilde ayarlanabilir. Ayrıca, kalıcı (persistent) ya da geçici (session) olarak ayarlanabilir. Kalıcı çerezler belirli bir tarih ve saate kadar geçerlidir, ancak bu tarihe kadar kullanıcının tarayıcıyı kapatıp açması çerezi etkilemez. Oturum çerezleri ise sadece tarayıcı oturumu süresince geçerlidir ve tarayıcı kapatıldığında silinir.
  • Local Storage: Veriler tarayıcıda kalıcı olarak saklanır. Tarayıcı kapatılsa bile veri silinmez. Veriler, kullanıcı tarafından manuel olarak silene kadar ya da web uygulaması tarafından silinene kadar saklanır.
  • Session Storage: Veriler sadece bir tarayıcı oturumu süresince saklanır. Tarayıcı penceresi kapatıldığında veya oturum sonlandırıldığında veri silinir. Aynı tarayıcı penceresi veya sekmesi içinde veriler korunur, ancak farklı pencerelerde veya sekmelerde paylaşılmaz.

2. Veri Boyutu

  • Cookie: Genellikle 4 KB'a kadar veri saklanabilir. Çoğu modern tarayıcı bu sınırı koyar. Bu sınır, çerezler için depolama alanının oldukça küçük olduğu anlamına gelir ve büyük veri parçalarını saklamak için uygun değildir.
  • Local Storage: Genellikle 5 MB'a kadar veri saklanabilir. Bu, çerezlere göre çok daha fazla veri depolama kapasitesi sağlar ve daha büyük veri parçalarını saklamak için uygundur.
  • Session Storage: Genellikle 5 MB'a kadar veri saklanabilir. Local Storage ile aynı sınırları paylaşır, ancak veri sadece bir oturum süresince geçerlidir.

3. Erişim ve Güvenlik

  • Cookie:
    • Erişim: Sunucu ve istemci tarafında erişilebilir. Cookie'ler, sunucu tarafından HTTP yanıtlarında gönderilir ve istemci tarafında JavaScript ile okunabilir. Bu, cookie'lerin hem sunucu tarafında hem de istemci tarafında kullanılabilmesi anlamına gelir.
    • Güvenlik: Cookie'ler genellikle HTTP isteğiyle birlikte gönderildiği için güvenlik riskleri taşıyabilir. Örneğin, kötü niyetli bir üçüncü taraf cookie'leri ele geçirebilir. Bu nedenle, hassas bilgiler cookie'lerde saklanmamalıdır. HTTPS kullanılarak güvenlik artırılabilir ve HttpOnly ve Secure bayrakları ile güvenlik önlemleri alınabilir.
  • Local Storage:
    • Erişim: Yalnızca istemci tarafında JavaScript ile erişilebilir. Sunucu tarafında erişilemez. Bu, verilerin tarayıcı içinde saklandığı ve sunucunun bu verilere doğrudan erişemeyeceği anlamına gelir.
    • Güvenlik: Local Storage verileri tarayıcıda açık bir şekilde saklanır ve JavaScript ile erişilebilir. Bu nedenle, herhangi bir kötü niyetli JavaScript kodu verilerinize erişebilir. Hassas veriler saklanmamalıdır. Ayrıca, Cross-Site Scripting (XSS) gibi güvenlik açıklarına karşı dikkatli olunmalıdır.
  • Session Storage:
    • Erişim: Yalnızca istemci tarafında JavaScript ile erişilebilir. Sunucu tarafında erişilemez. Local Storage ile benzer güvenlik risklerine sahiptir, çünkü veriler sadece istemci tarafında saklanır ve tarayıcı penceresi kapatıldığında silinir.
    • Güvenlik: Session Storage verileri, Local Storage gibi tarayıcıda saklanır ve JavaScript ile erişilebilir. Bu nedenle, XSS gibi güvenlik açıklarına karşı dikkatli olunmalıdır. Hassas bilgiler saklanmamalıdır.

4. Kullanım Senaryoları

  • Cookie: Kullanıcı kimlik doğrulama bilgileri, kullanıcı tercihleri ve oturum yönetimi gibi senaryolarda yaygın olarak kullanılır. Sunucu tarafında da kullanılabildiği için oturum bilgilerinin sunucuya gönderilmesi gereken durumlarda kullanışlıdır.
  • Local Storage: Kullanıcı tercihleri, uygulama durumu ve büyük veri parçalarını saklamak için uygundur. Örneğin, uygulama temasını veya kullanıcı ayarlarını saklamak için kullanılabilir.
  • Session Storage: Geçici veriler ve oturum bilgileri için uygundur. Örneğin, bir formun doldurulması sırasında geçici verileri saklamak için kullanılabilir. Kullanıcı tarayıcı penceresini kapattığında bu veriler kaybolur.

Kullanım Alanları

Kullanım Alanları:

  1. Kullanıcı Kimlik Doğrulama ve Oturum Yönetimi:
    • Oturum Açma: Kullanıcıların oturum açtığında kimlik bilgilerini doğrulamak için kullanılır. Örneğin, bir kullanıcı oturum açtığında, sunucu kullanıcıya bir çerez gönderir. Bu çerez, kullanıcının kimliğini doğrulamak için her istekte sunucuya gönderilir.
    • Oturum Süresi: Kullanıcıların oturum sürelerini yönetmek için kullanılabilir. Örneğin, bir çerezin süresi dolduğunda kullanıcı otomatik olarak oturumdan çıkabilir.
  2. Kullanıcı Tercihleri:
    • Kişiselleştirme: Kullanıcının siteye girerken yaptığı kişisel tercihler (dil seçimi, tema tercihi) çerezlerde saklanabilir. Kullanıcı siteyi tekrar ziyaret ettiğinde, çerezlerde saklanan bu bilgilerle kişiselleştirilmiş bir deneyim sunulabilir.
  3. Tracking (İzleme) ve Analitik:
    • Kullanıcı Davranışı: Web siteleri, kullanıcı davranışlarını izlemek ve analiz etmek için çerezleri kullanabilir. Örneğin, kullanıcıların hangi sayfaları ziyaret ettiğini, hangi reklamları tıkladığını takip etmek için çerezler kullanılır.
  4. Reklam Hedefleme:
    • Kişiselleştirilmiş Reklamlar: Çerezler, kullanıcının web üzerindeki davranışlarını izleyerek, ilgi alanlarına uygun reklamlar göstermek için kullanılabilir.

2. Local Storage

Kullanım Alanları:

  1. Kullanıcı Tercihleri ve Ayarları:
    • Kişisel Ayarlar: Kullanıcıların uygulama veya web sitesindeki kişisel ayarları (temalar, dil tercihler) saklamak için kullanılır. Bu veriler, tarayıcı kapatılsa bile saklanır ve kullanıcı tekrar ziyaret ettiğinde geri yüklenir.
  2. Uygulama Durumu ve Veri Saklama:
    • Offline Mod: Kullanıcılar bir web uygulamasına internet bağlantısı olmadan erişmek istediğinde, Local Storage'da saklanan veriler uygulamanın çalışmaya devam etmesini sağlar.
    • Veri Geçici Saklama: Form verileri, kullanıcı girişleri gibi büyük veri parçalarını geçici olarak saklamak için kullanılabilir.
  3. Otomatik Tamamlama ve Form Verileri:
    • Form Verileri: Kullanıcıların daha önce doldurduğu form verilerini saklamak ve kullanıcı formu tekrar ziyaret ettiğinde bu verileri otomatik olarak doldurmak için kullanılabilir.
  4. Web Uygulaması Özellikleri:
    • Oyunlar ve Uygulamalar: Web tabanlı oyunlar ve uygulamalar, oyuncunun ilerlemesini veya uygulama içi durumunu saklamak için Local Storage'ı kullanabilir.

3. Session Storage

Kullanım Alanları:

  1. Oturum Bilgileri:
    • Geçici Veriler: Web uygulamalarında kullanıcıların bir oturum süresince ihtiyaç duyduğu geçici verileri saklamak için kullanılır. Örneğin, kullanıcı bir formu doldururken, form verileri oturum süresince saklanabilir ve tarayıcı penceresi kapatıldığında veri silinir.
  2. Geçici Form Durumu:
    • Form Verileri: Kullanıcı bir formu doldururken, verilerin geçici olarak saklanması ve tarayıcı penceresi açık olduğu sürece formu yeniden yüklemek için kullanılır.
  3. Kullanıcı İşlemleri:
    • İşlem Durumu: Kullanıcı bir işlem yaparken (örneğin, bir e-ticaret sitesinde ürünleri sepete ekleme) bu işlem sürecinde geçici olarak verileri saklamak için kullanılır. Tarayıcı penceresi kapatıldığında veriler otomatik olarak silinir.

SONUÇ:

  • Cookie: Küçük veri parçalarını saklar, hem sunucu hem de istemci tarafında erişilebilir, güvenlik riskleri taşıyabilir. Kalıcı veya geçici olabilir.
  • Local Storage: Büyük veri parçalarını kalıcı olarak saklar, yalnızca istemci tarafında erişilebilir. Daha geniş veri kapasitesine sahiptir ve tarayıcı kapatıldığında veri kaybolmaz.
  • Session Storage: Büyük veri parçalarını geçici olarak saklar, yalnızca istemci tarafında erişilebilir. Tarayıcı penceresi kapatıldığında veri kaybolur.

Her bir veri saklama yöntemi, farklı kullanım senaryolarına göre uygun olabilir ve güvenlik ile veri yönetimi gereksinimlerine göre dikkatlice seçilmelidir.

✤ Daha fazla bilgi için buraya tıklamayı unutmayın!

✤ Bu yazımızı beğendiyseniz bir önceki yazımıza da göz atmayı unutmayın :)

42kraft


# İlginizi çekebilecek diğer içerikler
İlginizi çekebilecek diğer içerikler