localStorageはいつクリアされますか?


112

localStorageにデータが保持されると予想される期間。平均的なユーザーのlocalStorageデータはどのくらい持続しますか?ユーザーが消去しない場合、ブラウザーが再インストールされるまで持続しますか?

これはブラウザ間で一貫していますか?

回答:


99

W3Cドラフトはこれを言います

ユーザーエージェントは、セキュリティ上の理由またはユーザーから要求された場合にのみ、ローカルストレージ領域のデータを期限切れにする必要があります。ユーザーエージェントは、データにアクセスできるスクリプトが実行されている間は、常にデータを削除しないようにする必要があります。

そのため、ブラウザーが仕様に準拠している場合、ユーザーがすべてのブラウザーでそれを削除するまでそれは存続するはずですが、プロジェクトから削除されたものは見つかりませんでした。

読むのに適した記事もhttp://ejohn.org/blog/dom-storage/です。


「ユーザーからの要求」=ユーザーがデータをクリアしたとき。ブラウザー固有のクリーニングとその方法については、stevesouders.com / blog / 2012/09/10 / clearing- browser -dataを参照してください。
Julien Kronegg

Chromeの更新時にローカルストレージが消去される可能性があります。これは過去12か月間に2回発生しました。データが重要な場合は、関連データをファイルにダウンロードできるようにして、ユーザーに推奨します。これにより、データが再インストールされる可能性があります。
user2677034

116

localStorageは、Webストレージ、HTML5ストレージ、DOMストレージとも呼ばれます(これらはすべて同じ意味です)。

localStorageはsessionStorageに似ていますが、localStorageに保存されているデータに有効期限はありませんが、sessionStorageに保存されているデータは、ブラウジングセッションが終了すると(つまり、ブラウザ/ブラウザタブが閉じられると)消去されます。セッションストレージはlocalStorageよりも使用頻度が低く、現在のブラウザタブ内にのみ存在します。同じWebサイトでロードされた2つのタブでも、異なるsessionStorageデータがあります。sessionStorageデータは、ページの更新後も存続しますが、タブを閉じたり開いたりしても存続しません。一方、LocalStorageデータは、同じオリジンのすべてのタブとウィンドウ間で共有されます。LocalStorageデータに有効期限はありません。ブラウザを再起動した後、OSを再起動した後も残ります。 ソース

localStorageはすべてのブラウザーで使用できますが、永続性は一貫して実装されていません。特に、localStorageはユーザーの操作によって消去される可能性があり、誤って消去される可能性があります(すべてのCookieを消去するとlocalStorageも消去されると誰が思うでしょうか?)。

Firefoxでは、次の3つの条件が満たされたときにlocalStorageがクリアされます:(a)ユーザーが最近の履歴をクリアする、(b)クリアするようにCookieが選択される、(c)時間範囲が「すべて」

Chromeでは、次の条件が満たされるとlocalStorageが消去されます:(a)閲覧データを消去する、(b)「cookies and other site data」が選択される、(c)時間枠が「最初から」。Chromeでは、特定の1つのサイトのlocalStorage削除することもできるようになりました。

IEでlocalStorageをクリアするには:(a)ツール-インターネットオプション、(b)全般タブ、(c)終了時に閲覧履歴を削除、(d)「Cookieとウェブサイトデータ」(または「インターネット一時ファイルとウェブサイトファイル」を確認します")が選択されている、(e)上部にある[お気に入りのWebサイトデータを保持する]をオフにすることを検討

Safariの場合:(a)[Safari]をクリックします(b)[設定](c)[プライバシー]タブを選択します(d)[すべてのWebサイトデータを削除]をクリックします(e)[今すぐ削除]をクリックします

Opera:OperaサイトのlocalStorageに関する優れた記事にも関わらず、localStorageをクリアする方法について、ユーザーに明確な(プログラムではない)指示はまだありません。誰かが見つけたら、このリンクの下にこの回答の下にコメントを残してください。


オペラのdevのサイトでは、のlocalStorageの優れた概要があります。

クライアント側にデータを保存する現在の方法— Cookie —は問題です。

  • サイズが小さい:Cookieの最大サイズは通常約4 KBです。これは、あらゆる種類の複雑なデータを保存するにはあまり適していません。

  • Cookieが同じサイトで2つ以上のトランザクションを追跡することは困難です。これは、2つ以上の異なるタブで発生する可能性があります。

  • クロスサイトスクリプティングなどの手法を使用してCookieを悪用すると、セキュリティ違反が発生する

Cookieの他の(あまり一般的ではない)代替手段には、クエリ文字列、非表示フォームフィールド、Flashベースのローカル共有オブジェクトなどが含まれます。それぞれに、セキュリティ、使いやすさ、サイズ制限などに関連する独自の一連の問題があります。ユーザーの側でデータを保存するかなり悪い方法を使用しています。Web Storageの出番となる、より良い方法が必要です。

Webストレージ

W3C Web Storage仕様は、クライアント側でデータを格納するためのより良い方法として設計されました。ストレージには、セッションストレージとローカルストレージの2種類があります。

通常、セッションとローカルストレージの両方で、ドメインあたり約5 MBのデータを保存できます。これは、Cookieよりもはるかに多くなります。

リソース:

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/

MDNに関するDOMStorageの記事(John Resigによって作成)

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


2
追加しますが、これらのlocalStorage変数は、[開発モード](F12キーを押す)の[ストレージ]タブで実際に表示、変更、削除できます。
David Tabernero M.17年

それはindexDBと同じケースですか?つまり、ユーザーアクションによってもクリアできますか?
Pylinux 2017

IEの場合上記の手順に加えて、ユーザーはブラウザを閉じる必要があります。そうすると、ローカルストレージの削除が表示されます
Madhavi


1

Chromeで「閲覧データの消去」を実行しているときに、「Cookieと他のサイトとプラグインのデータ」オプションを選択すると、sessionStorageデータが消去されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.