Cookies vs Local Storage vs Session

Yağmur Mutluer
2 min readJun 19, 2021

--

Twitter’da display olarak karanlık moda geçtiyseniz, bir sonraki girişinizde bunu hatırlıyor. Bu nasıl olmakta, tarayıcılar bu tür veriyi nasıl saklamakta tam da bu başlığın konusu. Birbirine pek de uzak sayılmayan fakat aralarındaki minik farkların olduğu üç kavramı öğreneceğiz.

Öncelikle neden tarayıcıda veri saklama gereği duyuyoruz?

Elbette, performans için. Eğer bir site sıkça kullanıyorsa kullanıcıya özel verilerin her seferinde oluşturulması yerine bir depodan çağrılması daha hızlı sonuç veriyor. Ve hız, internette en çok istediğimiz performans kriteri.

Cookies

Cookies web sunucusuna iletilen minik bir veri parçası diyebiliriz. Eskiden web HTTP protokollerini kullanmaktaydı. Ve bu protokeller stateless bir diğer deyişle her state kendini bilir diğerlerini bilmez anlayışı vardı. Böyle olunca bir kullanıcı bir state’de giriş yapmışsa diğer state’in haberi olmuyordu. Bu da performansta ciddi sayılacak bir sıkıntıya yol açıyordu. State’ler nasıl kullanıcıya ait bilgileri hatırlayacaktı? Magic cookies’ler tam da burada devreye girdi ve günümüzde de kullanılmakta.

Kullanım alanları:

Login bilgileri, alışveriş kartlarındaki güncellemeler, oyun bilgileri gibi sunucunun hatırlaması gereken bilgiler.

Bununla birlikte kullanıcı tercihleri (karanlık mod gibi) , temalar için de kullanabilmekte.

Genellikle sunucu tarafından oluşturulmakta fakat isterse kullanıcı da oluşturabilir. Tarayıcı üzerinden sunucuya her istek (request) gönderildiğinde, cookies de bu request ile iletilir. Tarayıcıdaki her pencere tarafından cookies’e ulaşılabilir.

Maksimum kapasitesi 4KB’dir. Her request’te gönderildiğini düşünürsek, bu boyutun mantıklı olduğuna eminiz.

Local Storage & Session

Local Storage ve Session tarayıcı üzerinde veri saklamak için kullanılır. Sadece kullanıcı tarafından erişilebilirdir. Bir başka diyişle sunucuların direkt erişimi yoktur. Cookies’ler gibi her request’te gönderilmezler. Ancak birisi onları çağırınca veri kullanılır.

Local Storage ve Session arasındaki fark ise Local Storage süresiz bir şekilde saklanırken, Session’da pencere kapatıldığı an veri gider. İsmi de buradan gelmektedir.

Local Storage’da 5–10 MB veri saklanabilir, tarayıcıdan tarayıcıda değişiklik göstermektedir. Ve ancak kullanıcı elle veriyi silebilir diğer türlü asla silinmez.

Session ise 5MB’e kadar veri saklayabilir.

Kullanım alanları:

  • Kişileştirilmiş sayfa özellikleri saklanabilir.
  • Assetsler kaydedilebilir böylece daha hızlı bir şekilde site görüntülenebilir.
  • Çevrimdışı olduğunda da indirilmiş dosyalarla bir erişim sağlanmış olur.

Hangisini Kullanmalıyız?

Aslında böyle bir sorunun cevabı ihtiyaca bağlı olarak değişir. Genellikle hepsi birlikte kullanılmaktadır. Eğer kullanıcı giriş yaptıysa bunun bilgisine sunucunun ihtiyacı olacak ve cookies ile gönderilecek. Öte yandan bir websitesinde ayarları kendimize göre kişiselleştirmişsek bunu saklamak için local storage kullanabiliriz. Şifre ve kullanıcı adını kaydetmek için de session kullanabilir böylece daha güvenli bir yol izlenmiş olur.

--

--

Yağmur Mutluer
Yağmur Mutluer

Written by Yağmur Mutluer

zihninde kurgulamayı çok seven fakat yazıya dökmeye fazlasıyla üşenen, hayalperest biri. aynı zamanda software engineer olarak trendyol'da çalışmakta.

No responses yet