Session, Cookie, Local Storage, Session Storage Kullanımı

Merhaba arkadaşlar, bugün sizlere kısa bir yazı içerisinde önemli bir konudan, data saklama yöntemlerinden olan Cookie, Session, Local Storage ve Session Storagedan bahsetmek istiyorum.

Hızlıca bunları açıklayarak birer örnek gösterip belirli avantaj ve dezavantajlardan bahsedeceğiz. Hadi başlayalım;

Session, cookie gibi data saklamaya yarar fakat cookie den büyük bir farkı vardır. Session da bilgiler server tarafında tutulur. Bu yüzden server da oluşabilecek problemlerde sessionlar da etkilenir. Bununla beraber sessionların yüksek trafikli durumlarda kullanılması tavsiye edilmez, çünkü sessionlar bellekte (in-memory) tutulduğu için yoğunlukla beraber belleğin şişmesine sebep olabilir.
Buna çözüm olarak alternatif yollar vardır. Örneğin session bilgilerini Redis üzerinde tutmak.
https://www.borakasmer.com/asp-net-core-mvc-bir-projede-session-bilgilerini-redisde-tutma/

.Net core da session kullanmak için farkı yöntemler vardır. Session kullanımını aktif ettikten sonra session bilgisi set ve get metotları ile yazılabilir. Client problemlerinden etkilenmez, server problemlerinden etkilenir. .Net Core ile beraber klasik session mantığına biraz daha farklı logicler eklenmiş saklama şekilleri değiştirilmiştir. Kafa karıştırmamak adına bu konuya girmeyeceğim fakat merak edenler araştırabilir.

Örnek kullanım;

Startup.cs içerisinde sessionı aktif edelim.

ConfigureServices altına

Configure altına

session bilgisi yazıp daha sonra bu bilgiyi okuyalım.
SessionOrnek
Session Örnek
Cookie, en sık kullanılan storage yöntemlerinden biridir. Bilgiler client tarafında saklanır bu yüzden yük clientlardadır. Burada her client kendi cookie bilgisini tutar. Yani chrome da tutulan çerez bilgisi chrome özelindedir. Başka bir tarayıcıdan girildiğinde yeni bir çerez tanımlanması gerekir. Çerezler belirtilen sürelerde aktif olabilir yada kalıcı olmayan client kapandığında kaybolacak çerezler tanımlanabilir. Farklı çerez konfigurasyonları vardır. Bunları araştırarak sisteminize uygun çerez konfigurasyonunu ayarlamalısınız.
https://medium.com/@selcukusta/bir-vaka-i%CC%87ncelemesi-asp-net-coreun-cookie-i%CC%87le-i%CC%87mtihan%C4%B1-c9404b16a4d5
Kullanımı kolay ve yaygındır fakat yönetimini ve güvenlik tarafını iyi düşünmek gerekir. 5 dakika süresince client tarafında tutulacak bir cookie tanımlayarak bunu okuyalım.

Okumak için bir sonraki istekte request içerisinde key bilgisini vererek cookieyi alabiliriz.

Cookie Örnek

Local Storage, Local storage çerez mantığına (kalıcı çerez) benzer şekilde client tarafında tarayıcıda saklanır.  Yani yük yine istemci tarafında saklanır. Local storage yönetimini ve güvenlik tarafını iyi düşünmek gerekir. Local stroage da tutulan kayıtlar silinmediği sürece kalıcıdır. Yani tarayıcıyı kapatsanızda silmediğiniz sürece dataya ulaşılır.
Local storage içerisine javascript ile kaydımızı atalım ve okuyalım.

Local Storage Örnek

Session Storage, Local storage ile hemen hemen aynıdır. En büyük farkı ise session storage bilgilerinin tarayıcı kapatıldığında kaybolmasıdır.

Umarım faydalı olmuştur, kalın sağlıcakla…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir