SORU
8 Kasım 2013, Cuma


LocalStorage, sessionStorage, oturum ve çerez arasındaki fark nedir?

Teknik artıları ve eksileri localStorage, sessionStorage, oturum ve çerezler nelerdir ve ne zaman birini kullanmalıyım?

CEVAP
8 Kasım 2013, Cuma


Bu son derece geniş kapsamlı bir soru ve/eksileri durum için bağlamsal olacak artıları çok.

Her durumda bu depolama mekanizmaları bireysel bilgisayar/cihaz üzerinde tek bir tarayıcı için özel olacak. Oturumlar arasında sürekli olarak verileri saklamak için herhangi bir gereklilik uygulama sunucu tarafı dahil - büyük olasılıkla bir veritabanı, ama muhtemelen XML veya bir metin/CSV dosyası kullanarak gerekir.

localStorage, sessionStorage ve kurabiye tüm müşteri depolama çözümleri vardır. Oturum verileri doğrudan sizin kontrolünüz altında kalır sunucuda tutulur.

localStorage ve sessionStorage

localStorage ve sessionStorage yeni API (tüm eski tarayıcılar anlamı onlara destek olacak) ve nispeten yakın benzer (API ve yetenekleri hem de) kalıcılık tek istisna. sessionStorage (adını devam) yalnızca süresince tarayıcı oturumu (ve silinen pencere kapalı) - ancak hayatta sayfayı yeniden yükler (kaynak DOM Storage guide - Mozilla Developer Network).

Açıkça, eğer veri depolama ihtiyaçları için kullanılabilir sürekli olarak o localStorage. tercih için sessionStorage - olsa gerekir her ikisi de olabilir temizledi kullanıcı tarafından çok olmamalıdır güveniyor sürekli varoluş veri her iki durumda da.

localStorage ve sessionStorage hassas olmayan veri sayfaları arasında istemci komut (örneğin: tercihler, oyunlarda puanları) içinde gerektiğinde ısrar için mükemmeldir. Veri localStorage ve sessionStorage içinde saklı kolayca veya istemci/tarayıcı içinden oku değiştirilebilir uygulamalar içinde hassas veya güvenlik ile ilgili veri depolama için güvenerek alınmamalıdır.

Kurabiye

Bu da gerçek bir kurabiye, bu olabilir basit müdahale ile kullanıcı ve veri-ebilmek okumak onları düz metin - Yani, eğer sen istemek için saklamak duyarlı veri sonra oturumu gerçekten tek seçenek. Eğer SSL kullanıyorsanız, tanımlama bilgileri ayrıca, özellikle açık bir wifi üzerinden iletimi engellenebilir.

Üzerinde olumlu tarafı çerez bir derece koruma uygulanan güvenlik riskleri gibi siteler arası Komut dosyası (XSS)/Script enjeksiyon ayarı HTTP tek bayrak yani modern (destek) tarayıcılar-ecek önlemek erişmek için kurabiye ve değerleri JavaScript (bu-ecek da önlemek kendi meşru, JavaScript erişim onları). Bu özellikle önemli olan kimlik doğrulama tanımlama, kullanılan saklamak için bir belirteç içeren ayrıntılar kullanıcı kim açmış - eğer sizde bir kopyası var o kurabiye için tüm niyet ve amaçlarolurkullanıcı olarak web uygulaması ile ilgili veriler ve işlevler için aynı erişime sahip kullanıcı vardır.

Çerezler kimlik denetimi ve kullanıcı verilerinin dayanıklılık için kullanılırtümçerezler bir sayfa için geçerli için, tarayıcıdan sunucuya gönderilirheraynı etki için istek - bu orijinal sayfa isteği, herhangi bir sonraki Ajax istekleri, her türlü görüntü, stil sayfaları, komut ve yazı tiplerini içerir. Bu nedenle kurabiyeler çok miktarda bilgi depolamak için kullanılmamalıdır. Tarayıcı ayrıca çerezler saklanabilir bilgi boyutunu sınırlayabilir. Genellikle çerezleri kimlik doğrulaması, oturum ve reklam izleme tanıtıcı simgeleri saklamak için kullanılır. Belirteçleri genellikle kendilerini ve insan okunabilir bilgi değildir, ama şifreli tanımlayıcıları uygulama ya da veritabanına bağlı.

sessionStorage Kurabiye vs vs localStorage

Yetenekleri açısından, çerezleri yalnızca dizeleri depolamak için izin verir. localStorage ve sessionStorage JavaScript ilkel ama Nesneleri veya Dizi depolamak için (JSON onları API kullanarak onları saklamak için serialise mümkündür) izin verir. Oturum depolama genellikle herhangi bir ilkel veya nesneleri Sunucu Tarafı dil/çerçeve tarafından desteklenen saklamak için izin verir.

İstemci tarafında Sunucu tarafında çalışır

Olarak HTTP vatansız protokol - web uygulamaları hiçbir şekilde tanımlayan bir kullanıcı daha önceki ziyaretleri iade için web sitesi oturum verileri genellikle kullandığı bir tanımlama belirteci tanımlamak için kullanıcı için tekrar ziyaret (rağmen nadiren URL parametreleri için kullanılabilir aynı amaç). Veri genellikle bir kayan zaman aşımı süresi (yenilenen her kullanıcı ziyaretleri) ve bağlı sunucu/çerçeve verileri saklanabilir işlem (anlam veriler kaybolur eğer web server çöker veya yeniden) ya da harici bir durum sunucusu veya veritabanı. Bu web-çiftlik (belirli bir web sitesi için birden fazla sunucu) kullanırken de gerekli.

Oturum verileri tamamen uygulama (sunucu taraflı) tarafından kontrol edilir gibi doğada hiçbir şey hassas ve güvenli için en iyi yerdir.

Sunucu tarafı veri ile belirgin dezavantajı veri sunucu kaynaklarını her kullanıcı için gerekli oturum süresi için, ve herhangi bir veri istemci tarafında gerekli her isteği ile gönderilir. Sunucu eğer bir kullanıcı başka bir siteye yönlendiriyor eğer bilmenin bir yolu vardır ya kendi tarayıcı kapanırken, oturum verileri belirli bir zaman sonra tüm sunucu kaynaklarını terk oturumları tarafından götürülüyor önlemek için dolmak gerekir. Oturum verileri kullanarak, bu nedenle veri süresi dolmuş ve kaybolmuş ihtimali farkında, özellikle uzun formlar ile sayfa üzerinde olmalıdır. Ayrıca eğer kullanıcı çerezlerini siler eğer kaybolmaz ya da anahtarları/cihazları tarayıcılar.

Bazı web/HTML geliştiricileri gizli girişler başka bir form oturum zaman aşımı önlemek için bir sayfadan veri kalıcı olması için kullanın çerçeve.

localStorage, sessionStorage ve kurabiye konu için "aynı kökenli bilgileri ile başlamak küme" tarayıcılar verilere erişim alanı dışında önlemek gerektiği anlamına gelir kuralları.

İstemci depolama teknolojileri hakkında daha fazla bilgi almak için Dive Into Html 5 bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • LAHWF

    LAHWF

    5 Kasım 2009
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009