持続性がなく、現在のウィンドウのみを対象としている以外に、ローカルストレージよりもセッションストレージに利点(パフォーマンス、データアクセスなど)がありますか?
localStorage および sessionStorage 両方の拡張 ストレージ 。意図されたsessionStorage
の「非永続」を除いてそれらの間に違いはありません。
つまり、localStorage
に格納されているデータは、明示的に削除されるまで保持されます。加えられた変更は保存され、現在および将来のそのサイトへのすべてのアクセスで利用可能になります。
sessionStorage
では、変更はタブごとにしか利用できません。加えられた変更は保存され、現在のページで利用可能になります そのタブ内 閉じるまで。閉じられると、保存されているデータは削除されます。
唯一の違いは、localStorageの有効期限が異なることです。sessionStorage
は、それを作成したウィンドウが開いている間に限りアクセスできます。localStorage
は、削除するかユーザーが削除するまで続きます。
セキュリティ上の理由からsessionStorage
over localStorage
を使用したいと思うログインユーザー名とパスワードを保存したいとしましょう(つまり、後で別の人が自分のアカウントにアクセスするなど)。
しかし、ユーザーの設定を自分のマシンに保存したい場合は、おそらくlocalStorage
が必要です。概して:
localStorage
- 長期間使用するために使用します。sessionStorage
- 変化するものや一時的なものを保存する必要がある場合に使用します
ローカルストレージとセッションストレージの違いを理解するのに役立つその他のポイントはほとんどありません
ローカルストレージとセッションストレージの両方は、Originをドキュメント化するためにスコープされています。
https://mydomain.com/
http://mydomain.com/
https://mydomain.com:8080/
上記のすべてのURLはnotが同じストレージを共有します。 (Webページの通知パスはWebストレージに影響しません)
セッションストレージは、同じOriginポリシーが異なるタブで開いているドキュメントでも異なるため、同じWebページが2つの異なるタブで開いていますcannot同じセッションストレージを共有します。
ローカルストレージとセッションストレージの両方のスコープもブラウザベンダーです。したがって、IEによって保存されたストレージデータは、ChromeまたはFFによって読み取ることができません。
お役に立てれば。
localStorage
とsessionStorage
の主な違いは、sessionStorage
はタブごとに一意であるということです。タブを閉じると、sessionStorage
は削除されますが、localStorage
は削除されません。また、あなたはタブ間で通信することはできません:)
もう1つの微妙な違いは、例えばSafari(8.0.3)ではlocalStorage
の上限は2551 k文字ですが、sessionStorage
の記憶領域は 無制限です
Chrome(v43)では、localStorage
とsessionStorage
の両方が5101 k文字に制限されています(通常モードとプライベートモードの違いはありません)。
FirefoxではlocalStorage
とsessionStorage
はどちらも5120 k文字に制限されています(通常モードとシークレットモードの違いはありません)。
まったく速度に違いはありません:)
Mobile SafariとMobile Chromeにも問題があります。プライベートモードのSafariとChromeの最大容量は0KBです。
sessionStorage
はlocalStorage
と同じですが、1セッションのみのデータを保存し、それを作成したブラウザウィンドウを閉じると削除されます。
パフォーマンス面では、私の(粗)測定では、1000回の書き込みと読み取りで違いは見つかりませんでした。
セキュリティ面では、直感的にはlocalStoreはsessionStoreの前にシャットダウンされるかもしれませんが、具体的な証拠はありません。
機能的には、上記のdigitalFreshと一致する
セッションストレージとローカルストレージの動作は同じですが、ローカルストレージであるものはキャッシュを削除するまでユーザーがデータを保存し、Cookieとセッションストレージのデータはセッションを閉じるまでシステム内に保持されます。セッションストレージ作成ウィンドウ.
私の考えでは、ローカルストレージに対するセッションストレージの利点は、Firefoxでは 無制限の容量 であり、セッションより長く持続しないということです。 (もちろん、それはあなたの目標が何であるかによって異なります。)
ローカルストレージ: 有効期限なしでユーザー情報データを保存します。このデータは、ユーザーがブラウザウィンドウを閉じても削除されません。日、週、月、年で利用できます。
//Set the value in a local storage object
localStorage.setItem('name', myName);
//Get the value from storage object
localStorage.getItem('name');
//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege
セッションの保存: ブラウザウィンドウがWebユーザーによって閉じられたときにすべてのウィンドウが削除されることを除けば、ローカル保存日と同じです。
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
続きを読む クリック
sessionStorage
は与えられたOriginごとにページセッションの間利用可能な別々の記憶領域を維持します(ページのリロードと復元を含むブラウザが開いている限り)。
localStorage
も同じことをしますが、ブラウザを閉じて再び開いても持続します。
これは https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_APIから取得しました