Kapan localStorage dihapus?

112

Berapa lama saya bisa mengharapkan data disimpan di localStorage. Berapa lama rata-rata data penyimpanan lokal pengguna bertahan? Jika pengguna tidak menghapusnya, apakah ini akan bertahan hingga browser diinstal ulang?

Apakah ini konsisten di semua browser?

Bnicholas
sumber

Jawaban:

99

Draf W3C mengatakan ini

Agen pengguna harus menghentikan data dari area penyimpanan lokal hanya untuk alasan keamanan atau ketika diminta oleh pengguna. Agen pengguna harus selalu menghindari penghapusan data saat skrip yang dapat mengakses data tersebut sedang berjalan.

Jadi jika browser mengikuti spesifikasi itu harus bertahan sampai pengguna menghapusnya di semua browser, saya belum menemukan apa pun yang telah dihapus pada proyek saya.

Artikel yang bagus untuk dibaca juga http://ejohn.org/blog/dom-storage/

Dominic Green
sumber
"Diminta untuk melakukannya oleh pengguna" = saat pengguna menghapus data. Lihat stevesouders.com/blog/2012/09/10/clearing-browser-data untuk pembersihan khusus browser dan cara melakukannya.
Julien Kronegg
Penyimpanan lokal dapat dihapus saat memperbarui chrome. Ini terjadi pada saya dua kali dalam 12 bulan terakhir. Jika data itu penting, aktifkan dan dorong pengguna untuk mendownload data yang relevan ke file agar dapat diinstal ulang jika hal ini terjadi.
pengguna2677034
116

localStorage juga dikenal sebagai Penyimpanan Web, Penyimpanan HTML5, dan Penyimpanan DOM (semuanya memiliki arti yang sama).

localStorage mirip dengan sessionStorage, kecuali bahwa data yang disimpan di localStorage tidak memiliki waktu kedaluwarsa, sedangkan data yang disimpan dalam sessionStorage dihapus saat sesi browsing berakhir (yaitu saat tab browser / browser ditutup). Penyimpanan sesi digunakan lebih jarang daripada penyimpanan lokal, dan hanya ada dalam tab browser saat ini - bahkan dua tab yang dimuat dengan situs web yang sama akan memiliki data sessionStorage yang berbeda. sessionStorage data bertahan penyegaran halaman, tetapi tidak menutup / membuka tab. Sebaliknya, data LocalStorage dibagikan antara semua tab dan jendela dari sumber yang sama. Data LocalStorage tidak kedaluwarsa; itu tetap ada setelah browser dimulai ulang dan bahkan setelah booting ulang OS. Sumber

localStorage tersedia di semua browser, tetapi persistensi tidak diterapkan secara konsisten. Secara khusus, localStorage dapat dihapus oleh tindakan pengguna dan dapat dihapus secara tidak sengaja (siapa yang mengira bahwa menghapus semua cookie juga menghapus localStorage?).

Di Firefox, penyimpanan lokal dihapus ketika ketiga kondisi ini terpenuhi: (a) pengguna menghapus riwayat terkini, (b) cookie dipilih untuk dihapus, (c) rentang waktu adalah "Semuanya"

Di Chrome, Penyimpanan lokal dihapus saat kondisi berikut terpenuhi: (a) hapus data penjelajahan, (b) "cookie dan data situs lain" dipilih, (c) jangka waktu adalah "dari awal waktu". Di Chrome, sekarang juga dimungkinkan untuk menghapus localStorage untuk satu situs tertentu .

Di IE, untuk menghapus Penyimpanan lokal: (a) Alat - Opsi Internet, (b) tab Umum, (c) hapus riwayat penelusuran saat keluar, (d) pastikan "Cookie dan data situs web" (atau "file internet sementara dan file situs web ") dipilih, (e) pertimbangkan untuk tidak mencentang" Pertahankan data situs web Favorit "di bagian atas

Di Safari: (a) Klik Safari (b) Preferensi (c) Pilih tab Privasi (d) Klik Hapus semua data situs web (e) Klik Hapus Sekarang

Opera: Meskipun ada artikel bagus tentang Penyimpanan lokal dari situs Opera, saya belum menemukan petunjuk yang jelas (non-programatik) kepada pengguna tentang cara menghapus Penyimpanan lokal. Jika ada yang menemukan, silakan tinggalkan komentar di bawah jawaban ini dengan tautan referensi.


Situs pengembang Opera memiliki ringkasan localStorage yang sangat bagus:

Cara saat ini menyimpan data di sisi klien - cookie - adalah masalah:

  • Ukuran rendah: Cookies umumnya memiliki ukuran maksimum sekitar 4 KB, yang tidak terlalu bagus untuk menyimpan segala jenis data kompleks

  • Sulit bagi cookie untuk melacak dua atau lebih transaksi di situs yang sama, yang mungkin terjadi di dua atau lebih tab yang berbeda

  • Cookie dapat dieksploitasi menggunakan teknik seperti pembuatan skrip lintas situs, yang mengakibatkan pelanggaran keamanan

Alternatif lain (kurang populer) untuk cookie termasuk teknik yang melibatkan string kueri, bidang formulir tersembunyi, objek bersama lokal berbasis flash, dll. Masing-masing dengan kumpulan masalah mereka sendiri yang terkait dengan keamanan, kemudahan penggunaan, batasan ukuran, dll. Jadi, sampai sekarang kami telah menggunakan cara yang sangat buruk untuk menyimpan data di pihak pengguna. Kami membutuhkan cara yang lebih baik, di situlah Penyimpanan Web masuk.

Penyimpanan Web

Spesifikasi Penyimpanan Web W3C dirancang sebagai cara yang lebih baik untuk menyimpan data di sisi klien. Ini memiliki dua jenis penyimpanan: Penyimpanan Sesi dan Penyimpanan Lokal.

Baik Sesi dan Penyimpanan Lokal biasanya dapat menyimpan sekitar 5 MB data per domain, yang jauh lebih banyak daripada cookie.

Sumber:

https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

https://javascript.info/localstorage

https://dev.opera.com/articles/web-storage/

http://www.quirksmode.org/html5/storage.html

http://www.ghacks.net/2015/02/05/how-to-clear-web-storage-in-your-browser-of-choice/

https://nakedsecurity.sophos.com/2014/11/05/how-to-clear-out-cookies-flash-cookies-and-local-storage/

http://www.opera.com/dragonfly/documentation/storage/

Artikel DOMStorage di MDN (ditulis oleh John Resig)

http://ejohn.org/blog/dom-storage/

cssyphus
sumber
2
Saya akan menambahkan, Anda benar-benar dapat melihat, memodifikasi dan menghapus vars localStorage ini di "Development Mode" (menekan F12), di tab Storage.
David Tabernero M.
Apakah kasusnya sama dengan indexDB? Ie itu juga dapat dihapus oleh tindakan pengguna?
Pylinux
Di IE Selain langkah-langkah di atas, pengguna harus menutup browser maka hanya dia yang dapat melihat penghapusan localstorage
Kyasa Madhavi
2

Konten di penyimpanan lokal tetap ada selama pengguna memilih untuk menghapus penyimpanan (seluruhnya atau satu nilai di dalamnya)

Tentang konsistensi di seluruh browser, penyimpanan lokal saat ini tersedia di setiap browser utama, termasuk IE8 + (lihat http://caniuse.com/#feat=namevalue-storage )

Fabrizio Calderan
sumber
1

Di Chrome saat melakukan 'hapus data penjelajahan', jika Anda memilih opsi 'Cookie dan situs lain dan data plugin' maka data sessionStorage akan dihapus.

Uday Sravan K.
sumber