ホームページ >ウェブフロントエンド >H5 チュートリアル >永続的なデータにHTML5 WebストレージAPI(LocalStorage、SessionStorage)を使用するにはどうすればよいですか?

永続的なデータにHTML5 WebストレージAPI(LocalStorage、SessionStorage)を使用するにはどうすればよいですか?

Johnathan Smith
Johnathan Smithオリジナル
2025-03-18 14:05:31537ブラウズ

永続的なデータにHTML5 WebストレージAPI(LocalStorage、SessionStorage)を使用するにはどうすればよいですか?

HTML5 WebストレージAPIは、クライアント側にデータを保存するための2つのメカニズムを提供します: localStoragesessionStorage 。どちらもWebアプリケーションがユーザーのブラウザにデータを永続的に保存できるようにしますが、寿命と範囲の点で異なります。

localStoragesessionStorageを使用するには、まずそれらの基本的な方法を理解する必要があります。どちらも同様のAPIを持っています:

  • setItem(key, value) :キー価値ペアをストレージに保存します。
  • getItem(key) :指定されたキーに関連付けられた値を取得します。
  • removeItem(key) :指定されたキーでキー値ペアを削除します。
  • clear() :ストレージからすべてのキー価値ペアを削除します。

これらの方法の使用方法は次のとおりです。

データの設定:

 <code class="javascript">localStorage.setItem('username', 'JohnDoe'); sessionStorage.setItem('sessionId', '12345');</code>

データの取得:

 <code class="javascript">let username = localStorage.getItem('username'); let sessionId = sessionStorage.getItem('sessionId');</code>

データの削除:

 <code class="javascript">localStorage.removeItem('username'); sessionStorage.removeItem('sessionId');</code>

すべてのデータのクリア:

 <code class="javascript">localStorage.clear(); sessionStorage.clear();</code>

localStoragesessionStorageの主な違いは、 localStorageブラウザセッション全体でデータを持続することです(ストレージ制限により手動でクリアまたは期限切れになるまで)。SessionStorage sessionStorageページセッションの期間のみデータを保持します(タブが閉じたときにデータが失われます)。

データの持続性の観点から、LocalStorageとSessionStorageの違いは何ですか?

localStoragesessionStorageの主な違いは、データの持続性の期間と範囲にあります。

  • LocalStorage:

    • データは、ブラウザのセッションとタブ全体で持続します。
    • データは、同じオリジンのすべてのウィンドウとタブで使用できます。
    • データはremoveItem()またはclear()を使用して明示的に削除されるまで、またはユーザーがブラウザデータをクリアするまで保存されたままになります。
  • sessionStorage:

    • データは、ページセッションの期間中にのみ保存されます。
    • データは、作成した同じタブまたはウィンドウ内でのみアクセスできます。
    • タブまたはウィンドウが閉じられると、 sessionStorageに保存されているすべてのデータが自動的にクリアされます。

これらの違いにより、ユーザーの好みやゲームスコアなどの長期的なデータの持続性に理想的になりますが、 localStorage sessionStorageチェックアウト前のショッピングカートのようにセッションの終了時に破棄する必要がある一時的なデータにより適しています。

LocalStorageとSessionStorageを使用するときにデータセキュリティを確保するにはどうすればよいですか?

localStoragesessionStorageクライアント側のストレージに便利ですが、セキュリティ上の考慮事項があります。

  1. 機密データを保存しないでください:パスワード、クレジットカードの詳細、 localStorageまたはsessionStorageの個人識別番号などの機密情報を保存しないでください。これらのストレージメカニズムは安全ではなく、悪意のあるスクリプトでアクセスできます。
  2. HTTPSを使用する:WebサイトがHTTPSを使用して、無担保ネットワークを介してデータが傍受されるのを防ぐことを確認してください。
  3. データ暗号化:感度が低く、それでも重要なデータを保存する必要がある場合は、 localStorageまたはsessionStorageに保存する前に暗号化することを検討してください。クライアント側の暗号化ライブラリを使用して、データを設定する前に暗号化し、検索後に復号化します。

     <code class="javascript">// Example of encryption using a hypothetical library const encryptedData = encrypt('mySecretData', 'mySecretKey'); localStorage.setItem('encryptedData', encryptedData); // Later, to retrieve and decrypt const storedData = localStorage.getItem('encryptedData'); const decryptedData = decrypt(storedData, 'mySecretKey');</code>
  4. コンテンツセキュリティポリシー(CSP)を使用:コンテンツセキュリティポリシーを実装して、クロスサイトスクリプティング(XSS)攻撃を緩和します。
  5. 未使用のデータを定期的にクリアする:露出のリスクを最小限に抑えるために、 localStorageおよびsessionStorageから不必要なデータを定期的に確認およびクリアします。

LocalStorageおよびSessionStorageに保存されているデータを管理および整理するためのベストプラクティスは何ですか?

localStorageおよびsessionStorageでデータを効果的に管理および整理するには、次のベストプラクティスに従ってください。

  1. 意味のあるキーを使用します:データに明確で説明的なキーを使用して、理解して維持しやすくします。たとえば、 data1の代わりにuserPreferencesを使用します1。

     <code class="javascript">localStorage.setItem('userPreferences', JSON.stringify({theme: 'dark', notifications: true}));</code>
  2. 構造化データを保存:JSONを使用して、複雑なデータ構造を保存します。これにより、データの管理と変更が容易になります。

     <code class="javascript">const settings = {theme: 'dark', notifications: true}; localStorage.setItem('settings', JSON.stringify(settings)); // To retrieve const storedSettings = JSON.parse(localStorage.getItem('settings'));</code>
  3. ストレージ制限の設定:ストレージ制限(通常はドメインあたり約5〜10 MB)に注意し、それに応じてデータを管理します。制限に達したときに古いデータを削除することを検討してください。
  4. データを名前空間に編成する:プレフィックスまたは名前空間を使用して関連データをグループ化します。これは、重要な衝突の整理と回避に役立ちます。

     <code class="javascript">localStorage.setItem('app_settings.theme', 'dark'); localStorage.setItem('app_settings.notifications', 'true');</code>
  5. バージョン制御データ:データ構造にバージョン番号を追加して、更新を優雅に処理します。

     <code class="javascript">const settings = {version: '1.0', theme: 'dark', notifications: true}; localStorage.setItem('settings', JSON.stringify(settings));</code>
  6. 定期的に監査とクリーンアップ:保存されたデータを定期的に確認し、不要または時代遅れのものを削除します。
  7. 徹底的にテスト:アプリケーションがデータの存在と不在の両方を優雅に処理し、さまざまなブラウザーやデバイスでアプリがどのように動作するかをテストしてください。

これらのガイドラインに従うことにより、 localStoragesessionStorage効果的に利用して、データ組織とセキュリティを維持しながらWebアプリケーションを強化できます。

以上が永続的なデータにHTML5 WebストレージAPI(LocalStorage、SessionStorage)を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。