web-dev-qa-db-ja.com

HTML5ローカルストレージとセッションストレージ

持続性がなく、現在のウィンドウのみを対象としている以外に、ローカルストレージよりもセッションストレージに利点(パフォーマンス、データアクセスなど)がありますか?

490
jpkeisala

localStorage および sessionStorage 両方の拡張 ストレージ 。意図されたsessionStorageの「非永続」を除いてそれらの間に違いはありません。

つまり、localStorageに格納されているデータは、明示的に削除されるまで保持されます。加えられた変更は保存され、現在および将来のそのサイトへのすべてのアクセスで利用可能になります。

sessionStorageでは、変更はタブごとにしか利用できません。加えられた変更は保存され、現在のページで利用可能になります そのタブ内 閉じるまで。閉じられると、保存されているデータは削除されます。

688
tcooc

唯一の違いは、localStorageの有効期限が異なることです。sessionStorageは、それを作成したウィンドウが開いている間に限りアクセスできます。
localStorageは、削除するかユーザーが削除するまで続きます。
セキュリティ上の理由からsessionStorageover localStorageを使用したいと思うログインユーザー名とパスワードを保存したいとしましょう(つまり、後で別の人が自分のアカウントにアクセスするなど)。
しかし、ユーザーの設定を自分のマシンに保存したい場合は、おそらくlocalStorageが必要です。概して:

localStorage - 長期間使用するために使用します。
sessionStorage - 変化するものや一時的なものを保存する必要がある場合に使用します

146
MayorMonty

ローカルストレージとセッションストレージの違いを理解するのに役立つその他のポイントはほとんどありません

  1. ローカルストレージとセッションストレージの両方は、Originをドキュメント化するためにスコープされています。

    https://mydomain.com/
    http://mydomain.com/
    https://mydomain.com:8080/

    上記のすべてのURLはnotが同じストレージを共有します。 (Webページの通知パスはWebストレージに影響しません)

  2. セッションストレージは、同じOriginポリシーが異なるタブで開いているドキュメントでも異なるため、同じWebページが2つの異なるタブで開いていますcannot同じセッションストレージを共有します。

  3. ローカルストレージとセッションストレージの両方のスコープもブラウザベンダーです。したがって、IEによって保存されたストレージデータは、ChromeまたはFFによって読み取ることができません。

お役に立てれば。

98
functionoid

localStoragesessionStorageの主な違いは、sessionStorageはタブごとに一意であるということです。タブを閉じると、sessionStorageは削除されますが、localStorageは削除されません。また、あなたはタブ間で通信することはできません:)

もう1つの微妙な違いは、例えばSafari(8.0.3)ではlocalStorageの上限は2551 k文字ですが、sessionStorageの記憶領域は 無制限です

Chrome(v43)では、localStoragesessionStorageの両方が5101 k文字に制限されています(通常モードとプライベートモードの違いはありません)。

FirefoxではlocalStoragesessionStorageはどちらも5120 k文字に制限されています(通常モードとシークレットモードの違いはありません)。

まったく速度に違いはありません:)

Mobile SafariとMobile Chromeにも問題があります。プライベートモードのSafariとChromeの最大容量は0KBです。

28
Eek

sessionStoragelocalStorageと同じですが、1セッションのみのデータを保存し、それを作成したブラウザウィンドウを閉じると削除されます。

10

パフォーマンス面では、私の(粗)測定では、1000回の書き込みと読み取りで違いは見つかりませんでした。

セキュリティ面では、直感的にはlocalStoreはsessionStoreの前にシャットダウンされるかもしれませんが、具体的な証拠はありません。

機能的には、上記のdigitalFreshと一致する

10
cc young

セッションストレージとローカルストレージの動作は同じですが、ローカルストレージであるものはキャッシュを削除するまでユーザーがデータを保存し、Cookieとセッションストレージのデータはセッションを閉じるまでシステム内に保持されます。セッションストレージ作成ウィンドウ.

6
Bhargavi

私の考えでは、ローカルストレージに対するセッションストレージの利点は、Firefoxでは 無制限の容量 であり、セッションより長く持続しないということです。 (もちろん、それはあなたの目標が何であるかによって異なります。)

5
avvett

ローカルストレージ: 有効期限なしでユーザー情報データを保存します。このデータは、ユーザーがブラウザウィンドウを閉じても削除されません。日、週、月、年で利用できます。

//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";

続きを読む クリック

1
Srikrushna Pal
  • sessionStorageは与えられたOriginごとにページセッションの間利用可能な別々の記憶領域を維持します(ページのリロードと復元を含むブラウザが開いている限り)。

  • localStorageも同じことをしますが、ブラウザを閉じて再び開いても持続します。

これは https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_APIから取得しました