HTTP プロトコルは、サーバーとクライアント間の円滑な通信にとって最も重要なプロトコルの 1 つです。 HTTP プロトコルの主な欠点は、HTTP プロトコルがステートレス プロトコルであることです。これは、サーバーまたはクライアントによるいかなる種類の応答や要求も追跡しないことを意味します。したがって、この問題を解決するには、有用な情報を追跡する 3 つの方法があります。この記事では、ローカル ストレージ、セッション ストレージ、Cookie の違いと、Web 開発者がこれらの用語を知っておくことが重要である理由について説明します。
ローカルストレージ: この読み取り専用インターフェイス プロパティは、ドキュメントのローカル ストレージ オブジェクトへのアクセスを提供します。保存されたデータはブラウザ セッション全体に保存されます。 sessionStorage と似ていますが、sessionStorage データはページ セッションが終了するとき、つまりページが閉じられるときにクリアされる点が異なります。これは、ブラウザーの最後のプライベート タブが閉じられるとクリアされます (プライベート ブラウジングまたはシークレット セッションでロードされたドキュメントの localStorage データ)。
産業と工場
DOMString は、UTF-16 を使用してデータをエンコードする記憶形式であり、1 文字あたり 2 バイトを使用します。文字列は、オブジェクトの場合と同様に、整数キーから自動的に生成されます。 LocalStorage に保存されるデータは、ドキュメント内のプロトコルに固有です。サイトが HTTP (例: http://example.com) で読み込まれる場合、localStorage は HTTPS (例: https://abc.com) で読み込まれる場合とは異なるオブジェクトを返します。
ドキュメントがファイル URL からロードされる場合 (つまり、サーバーからロードされるのではなく、ユーザーのローカル ファイル システムから直接ロードされる場合)、動作の要件は未定義であり、ブラウザーによって異なる場合があります。各ファイルは、現在のすべてのブラウザで localStorage によって異なるオブジェクト (URL) として返されるように見えます。基本的に、各 URL ファイルには独自の一意のローカル ストレージ領域があるようです。
前述したように、ファイル URL の要件が不明瞭なため、この動作は保証できません。そのため、ブラウザがいつでもファイルの処理方法を変更する可能性があります。一部のブラウザの処理方法は進化しています。
ローカル ストレージには 4 つの方法があります。
Java整数
- setItem() メソッド – このメソッドは 2 つのパラメータを取ります。1 つはキー、もう 1 つは値です。これは、値をキーの名前とともに特定の場所に保存するために使用されます。
localStorage.setItem(key, value)>
- getItem() メソッド – このメソッドは、特定のキー名で保存された値を取得するために使用される key というパラメーターを 1 つ受け取ります。
localStorage.getItem(key)>
- RemoveItem() メソッド – これは、キーを参照してメモリに格納されている値を削除するために使用されるメソッドです。
localStorage.removeItem(key)>
- clear() メソッド – このメソッドは、localstorage に保存されているすべての値をクリアするために使用されます。
localStorage.clear()>

ローカルストレージパネルのイメージ
セッションストレージとは何ですか?
Session Storage オブジェクトには、sessionStorage 読み取り専用プロパティを使用してアクセスできます。 sessionStorage と localStorage の違いは、localStorage データは期限切れにならないのに対し、sessionStorage データはページ セッションが終了するとクリアされることです。
ドキュメントがブラウザー タブに読み込まれると、一意のページ セッションが作成されます。ページ セッションは、一度に 1 つのタブに対してのみ有効です。ページは、タブまたはブラウザーが開いている間のみ保存されます。ページがリロードおよび復元された後は保持されません。タブまたはウィンドウが開かれるたびに、新しいセッションが作成されます。これはセッション Cookie とは異なります。同じ URL で開かれた各タブ/ウィンドウは、独自の sessionStorage を作成します。タブを複製すると、元のタブの sessionStorage が複製されたタブにコピーされます。ウィンドウ/タブを閉じるとセッションが終了し、sessionStorage オブジェクトがクリアされます。
ページのプロトコルによって、どのデータが sessionStorage に保存されるかが決まります。特に、HTTP (http://abc.com など) 経由でアクセスされるスクリプトによって保存されるデータは、HTTPS 経由でアクセスされる同じサイト (https://abc.com など) の別のオブジェクトに保存されます。 DOMString 数値は、UTF-16 DOMString 形式では 1 文字あたり 2 バイトです。文字列は、オブジェクトの場合と同様に、整数キーから自動的に生成されます。
Javaタプル
セッションストレージには 4 つの方法があります。
- setItem() メソッド – このメソッドは 2 つのパラメータを取ります。1 つはキー、もう 1 つは値です。これは、値をキーの名前とともに特定の場所に保存するために使用されます。
sessionStorage.setItem(key, value)>
- getItem() メソッド – このメソッドは、特定のキー名で保存された値を取得するために使用される key というパラメーターを 1 つ受け取ります。
sessionStorage.getItem(key)>
- RemoveItem() メソッド – これは、キーを参照してメモリに格納されている値を削除するために使用されるメソッドです。
sessionStorage.removeItem(key)>
- clear() メソッド – このメソッドは、セッションストレージに保存されているすべての値をクリアするために使用されます。
sessionStorage.clear()>

セッションストレージのイメージ
非決定的な有限オートマトン
クッキー: Cookie という用語は、Web サイトに関するテキスト情報のみを指します。あなたを認識し、あなたの好みに応じた結果を表示するために、この Web サイトは、あなたが特定の Web サイトにアクセスしたときに、ローカル システムに一部の情報を保存します。インターネットの歴史は長い間 Cookie の使用によって特徴づけられてきました。 Web サイトの訪問者は、Web サイトにアクセスするときにサーバーに Web ページを要求します。サーバーに対するすべてのリクエストは一意です。同様に、100 回アクセスすると、各リクエストはサーバーによって一意であると見なされます。サーバーは毎秒多くのリクエストを受信するため、すべてのユーザーの情報をサーバーに保存することは論理的かつ明白ではありません。戻らない場合は、同じ情報は再度必要ない場合があります。したがって、ユーザーを一意に識別するために Cookie が送信され、ローカル マシンに保存されます。次回アクセスしたときに、同じサーバーがあなたを認識しているため、同じサーバーから応答が返されます。ほぼすべてのサーバーがこの Cookie を使用します (現在、広告のためにいくつかの例外が存在します)。したがって、システムに多数の Cookie が存在する場合でも、そのような Cookie はサーバーによって認識され、分析されます。
Cookie が最初に開発されたとき、Cookie は開発者のエクスペリエンスを向上させるために使用されました。母国語以外の言語 (たとえば英語) で Web サイトにアクセスすることを検討してください。ウェブサイトの言語セクションから言語として英語を選択できます。同じ Web サイトに 5 回アクセスする場合は、1 日に 5 回言語を切り替える必要がある場合があります。したがって、これらの詳細はシステム上の Cookie に保存されます。これにより、次回リクエストを送信するときに、Web サイトを英語で表示したいことがサーバーに認識されます。この点で Cookie は不可欠です。今日使用されているスケール クッキーは、上の例よりもはるかに小さいです。

クッキーのイメージ
ローカルストレージとセッションストレージの違い 、 そしてクッキー
| ローカルストレージ | セッションストレージ | クッキー |
|---|---|---|
| ローカルストレージの記憶容量は5MB/10MBです | セッションストレージの記憶容量は5MBです | Cookieの保存容量は4KBです |
| セッションベースではないため、JavaScript または手動で削除する必要があります | これはセッションベースであり、ウィンドウまたはタブごとに動作します。これは、データがセッション期間中、つまりブラウザ (またはタブ) が閉じるまでのみ保存されることを意味します。 | Cookie の有効期限は、タブおよびウィンドウごとの設定および動作に基づいて期限切れになります。 |
| クライアントはローカル ストレージの読み取りと書き込みが可能 | クライアントはローカル ストレージの読み取りと書き込みが可能 | クライアントとサーバーの両方が Cookie を読み書きできます |
| サーバーへのデータの転送はありません | サーバーへのデータの転送はありません | サーバーへのデータ転送が存在します |
| 古いブラウザを含むすべてのブラウザでサポートされています。 | 古いブラウザを含むすべてのブラウザでサポートされています | 古いブラウザを含むすべてのブラウザでサポートされています |