Vue における LocalStorage と SessionStorage の違いと使い方

Vue における LocalStorage と SessionStorage の違いと使い方

以前、私はバックグラウンド検証メカニズム、主にCookie、セッション、トークンの使用、Django:Cookie設定とクロスドメインの問題の処理、Django実装:セッションを使用したCookie、Django:トークンベースの検証を整理しました。 もちろん、これはトークンが最良であることを意味するものではありません。 プロジェクトの要件に応じて選択する必要があり、混合して使用することもできます。

本日は、バックグラウンドから送信されたトークンをクライアントに保存します。これは、Cookie、LocalStorage、SessionStorage などに保存できます。Cookie については以前に紹介したので、ここでは省略します。主に LocalStorage と SessionStorage について説明します。

LocalStorageとは

LocalStorage は「ローカルストレージ」と訳されます。HTML5 の新しいストレージオブジェクトです。Cookie と同様に、ローカルストレージにも使用されますが、Cookie のストレージ容量不足の問題を解決します (各 Cookie のストレージ容量は 4k です)。一方、localStorage ブラウザは一般的に 5M をサポートし、通常はキー/値のペアの形式で保存されます。

SessionStorageとは

SessionStorage は「セッション ストレージ」と翻訳され、HTML5 に追加された新しいストレージ オブジェクトでもあります。同じウィンドウ内のデータをローカルに一時的に保存するために使用されます。ウィンドウが閉じられるとデータは削除されます。SessionStorage ブラウザーは一般に 5M をサポートしており、通常はキーと値のペアの形式で保存されます。

LocalStorage と SessionStorage の違い

LocalStorage のライフ サイクルは永続的です。LocalStorage 情報を積極的にクリアしない限り、情報は常にクライアントに保存されます。 SessionStorage のライフ サイクルは一時的なものであり、現在のセッション ウィンドウでのみ有効です。ページまたはブラウザーを閉じると、データは自動的にクリアされます。

LocalStorageとSessionStorageの特徴

1. LocalStorage または SessionStorage 内のデータは、異なるブラウザ間で共有できません。

2. LocalStorage と SessionStorage は統合された API インターフェースを使用できます。

3. LocalStorage または SessionStorage は通常、キーと値のペアの形式でデータを保存するため、保存時にデータ形式を変換する必要があります。JSON.stringify メソッドを使用してオブジェクトを文字列に変換し、抽出時に JSON.parse メソッドを使用して文字列をオブジェクトに変換します。

4. LocalStorage または SessionStorage は HTML5 の新しい属性であるため、新しいブラウザからのサポートが必要です。

https://img1.sycdn.imooc.com/5bab321d0001972206300152.jpg

LocalStorageとSessionStorageの使用

LocalStorage の用途は SessionStorage と同じなので、ここでは説明しません。LocalStorage を例に挙げます。

LocalStorage には、clear (LocalStorage をクリア)、getItem (ローカル データを取得)、key (添え字に対応するキーの値を取得)、removeItem (データを削除して保存)、setItem (データを設定するため) の 5 つのメソッドが用意されています。

具体的な使用方法と手順は以下のとおりです。localStorage. を直接使用して、対応するメソッドを呼び出すことができます。対応するアプリケーションプロパティを理解していれば、それらを使用できます。

このように、localStorage.setItem('key', 'value') を使用して、サーバーから送信されたデータをクライアントのローカルに保存できます。保存する前にデータを変換することを忘れないでください。

LocalStorage と SessionStorage アプリケーションの例

以下は私が実際に開発しているアプリケーションです。先ほど、JsonResponse を通じてフロントエンドに JSON データを送信しました。このデータには、data (ユーザーが要求したデータ)、token (サーバーによって生成されたトークン)、code (バックグラウンドで処理されたステータス コード) が含まれていました。このデータを受け取った後、フロントエンドはデータを処理し、コードの戻りが成功したかどうかを判断します。成功した場合は、データを解析してローカルに保存し、そうでない場合はアクセスが失敗します。

ここでは、localStorage と sessionStorage を使用して、それぞれ 2 つのデータを保存します。LocalStorage はカスタマイズされており、sessionStorage はバックグラウンドから取得されています。ブラウザの開発者ツールを開きます。Application では、Storage の下にある localStorage と sessionStorage に保存した対応する値を見つけることができます。

これで、vue の LocalStorage と SessionStorage の違いと使用方法についての記事は終了です。vue の LocalStorage と SessionStorage に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue プロジェクトで localStorage または sessionStorage の変更を監視する方法
  • Vue でのローカルストレージとセッションストレージの使用に関する詳細な説明

<<:  MySQL の中国語文字化け問題の解決方法

>>:  Ubuntu 20.04にvncserverをインストールする方法

推薦する

Dockerコンテナの紹介

1. 概要1.1 基本概念: Docker は、Go 言語をベースにしたオープンソースのアプリケーシ...

バックエンド管理システムを構築するためのvue-element-adminの実装手順

最近、カンファレンスの健康申告システムに取り組んでいたとき、バックエンドを構築する必要があり、vue...

Linux サーバーのグラフィック カードのクラッシュの解決策

ログインインターフェースの解像度が特に大きい場合、グラフィカルインターフェース全体が特に大きくなり、...

Dockerコンテナの個別展開のためのLNMPの実装

1. 環境整備各コンテナの IP アドレス: nginx: 172.16.10.10マイSQL: 1...

CSS における px、em、rem、%、vw、vh 単位の違いの詳細な説明

1.ピクセルpx はピクセルの略語で、画面解像度に対する相対的な長さの単位です。 2. えむ参照は親...

Win7x64でのMySQL 5.7.18解凍版のインストール方法

関連記事: Win7 x64 に解凍版の mysql 5.7.18 winx64 をインストールする...

Linux サーバーは最大いくつのポートを開くことができますか?

目次ポート関連の概念:ポートとサービスの関係1: nmapツールが開いているポートを検出する2: n...

Vue パッケージサイズの最適化の実装 (1.72M から 94K)

1. 背景最近、独立した開発者がUIデザインを行うのを支援するために、uideaというWebサイト...

Iframe の内外のページで JS がどのように動作するかの概要

目次iframeの外側のiframeのコンテンツを取得する方法1方法2 iframe 内の ifra...

DockerでRedisをデプロイして起動する方法

DockerでRedisをデプロイするまずLinuxにDockerをインストールし、次にDocker...

WeChatアプレットの下部にあるタブバーがコンテンツをブロックする問題に対処する簡単な方法

WeChatアプレットでタブバーを設定すると、重要なコンテンツがブロックされ、iPhoneXなどの異...

Linuxは数字当てゲームのソースコードを実装する

シンプルな Linux 推測ゲームのソースコードゲームのルール:数字当てゲームは通常 2 人でプレイ...

VMware CentOS 仮想マシンのインストールとネットワーク構成のグラフィックチュートリアル

1. CentOSイメージをダウンロードする1.1 ダウンロードウェブサイトhttp://mirro...

Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明

背景docker とアイデアを使用して、Java Web の開発、展開、運用までのプロセス全体を実現...

Linux で ARM 開発ボード用のファイルシステムを作成する

1. Busyboxのソースコードをオンラインでダウンロードしてください。コンパイル方法については、...