Cookie とセッションの違いの概要
この記事は Cookie とセッションの違いをまとめたものです。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。
HTTP ステートレス プロトコル
HTTP ステートレス プロトコルは、プロトコルがトランザクション処理のためのメモリ機能を持たないことを意味します。ステータスがないということは、後続の処理で以前の情報が必要な場合にその情報を再送信する必要があることを意味し、その結果、接続ごとに転送されるデータ量が増加する可能性があります。一方、事前の情報が必要ない場合、サーバーはより速く応答します。 はじめにクライアントとサーバー間で動的に対話する Web アプリケーションが出現して以来、HTTP のステートレスな特性がこれらのアプリケーションの実装を深刻に妨げています
結局のところ、対話は過去を結び付ける必要があります。シンプル ショッピング カート プログラムは、ユーザーが以前にどのような製品を選択したかを知る必要もあります。その結果、HTTP 接続状態を維持するための 2 つのテクノロジが 登場しました。1 つは Cookie、もう 1 つは Session です。 HTTP 自体はステートレスな接続プロトコルです。クライアントとサーバー間の対話をサポートするには、さまざまなテクノロジを使用して対話の状態を保存する必要があります。これらのさまざまなテクノロジとは、Cookie とセッションです。 Cookie は、クライアントを通じて状態を維持するためのソリューションです。定義上、Cookie はサーバーからクライアントに送信される特別な情報であり、この情報は テキスト ファイル の形式でクライアントに保存され、その後、クライアントは開発にリクエストを送信します。サーバーに毎回これらの特別なメッセージを届けます。より具体的に言うと、ユーザーがブラウザを使用して Cookie をサポートする Web サイトにアクセスすると、ユーザー名を含む個人情報が提供されてサーバーに送信され、サーバーは対応するハイパーバイザーをクライアントに返します。もちろん、この情報は HTTP レスポンスボディ (Response Body) には格納されませんが、 は、 HTTP 応答ヘッダー (Response Header) ; クライアント ブラウザがサーバーから応答を受信すると、ブラウザはその情報を統一された場所に保存します。 Windows オペレーティング システムの場合、[システム ディスク] から開始できます。 ]:Documents and Settings[ユーザー名] 保存された Cookie は Cookies ディレクトリにあり、それ以降、クライアントがサーバーにリクエストを送信すると、対応する Cookie がサーバーに再度送信されます。今回はHTTPリクエストヘッダ(Request Header)にCookie情報を格納します。 斜体のテキスト
Cookieなどの技術の実装により、サーバーはクライアントのブラウザからリクエストを受信した後、リクエストヘッダに格納されているCookieを解析することでクライアント固有の情報を取得し、クライアントに関する情報を動的に生成することができます。リクエスト クライアントに対応するコンテンツ。通常、多くの Web サイトのログイン インターフェースには「私を覚えておいてください」などのオプションが表示されますが、ログインする前にチェックしておくと、次回 Web サイトにアクセスするときに何度も面倒なログインを行う必要がなくなります。この機能は Cookie を通じて実装されます。Cookie の反対のソリューションは、サーバーを通じて状態を維持する Session です。セッションという単語には多くの意味が含まれているため、ここでセッションの意味を明確にする必要があります。まず第一に、通常は Session を session に変換します。これにより、クライアント ブラウザとサーバーの間の一連の対話型アクションを Session と呼ぶことができます。このセマンティクスから始めて、セッションの継続時間、セッション中に実行される操作などについて説明します。次に、セッションとは、サーバーによってクライアントのために開かれた記憶域と、そこに保存された情報を指します。ステータスを維持するために。このセマンティクスから始めて、セッションにどのコンテンツを保存するか、キー値に基づいてセッションから一致するコンテンツを取得する方法などについて説明します。
Session を使用するには、もちろん最初のステップはセッションを作成することです。では、セッションはいつ作成されるのでしょうか?もちろん、サーバーサイドのプログラムが実行されている間に作成されますが、言語ごとに実装されたアプリケーションによってセッションの作成方法が異なります。Javaの場合は、HttpServletRequestのgetSessionメソッドを呼び出すことによって作成されます(パラメータにtrueを使用) 。セッションを作成するとき、サーバーはセッションに一意のセッション ID を生成し、このセッション ID は後続のリクエストで作成されたセッションを取り戻すために使用されます。セッションの作成後、セッション関連のメソッドを呼び出すことができ、コンテンツが追加されます。セッションに送信すると、これらのコンテンツはサーバーにのみ保存され、セッション ID のみがクライアントに送信されます。クライアントが再度リクエストを送信すると、このセッション ID が取得され、サーバーは対応するセッションをベースに検索します。セッション ID を確認して再度使用してください。このようなプロセスを経て、ユーザーのステータスは維持されます。
要約すると、HTTP 自体はステートレスな接続プロトコルです。クライアントとサーバー間の対話をサポートするには、さまざまなテクノロジを介して対話の状態を保存する必要があります。これらのさまざまなテクノロジは Cookie です。およびセッションは です。
Cookie
保存場所Cookieデータはお客様のブラウザに保存され、サーバーはその情報を知ることができます;利用方法
Ifブラウザ では有効期限が設定されていません 、Cookie は メモリ に保存され、ライフ サイクルは ブラウザが閉じられたとき に終了します。このタイプの Cookie は次のとおりです。セッション Cookie と呼ばれます。単一の CookieCookie の有効期限 がブラウザ で設定されている場合、Cookie は ハードディスク に保存されます。ブラウザを閉じた後も、Cookie データは ## まで存在します。 # 有効期限。 を過ぎると消えます。
ストレージ
によって保存されるデータは 4KB を超えることはできません。サーバーはクライアント ブラウザに最大 20 Cookie を保存でき、ブラウザは最大 20 Cookie を保存できます。最大 300 個の Cookie を保存します
;Cookie は、テキストの形式で文字列タイプのみを保存できます
アプリケーション シナリオCookie テクノロジには 4 つのコンポーネントがあります。応答レポート 記事に Cookie ヘッダー行がある; HTTP リクエスト メッセージに Cookie ヘッダー行がある; Cookie ファイルはクライアント システムに保持され、ユーザーのブラウザによって管理される; Web にあるバックエンド データベースsite
最終ログイン時刻とその他の情報を保存します。最後に表示したページを保存する 閲覧回数アクセスCookie に path パラメーターが設定されている場合、同じ Web サイト上の異なるパスにある Cookie は相互にアクセスできません。
欠点
データ リクエストの Cookie を運ぶ
Cookie データは、同じオリジンからの http リクエストで常に (必要でない場合でも)、つまり Cookie で運ばれます。ブラウザとサーバーの間でやり取りされます ;
新しいページがリクエストされるたびに Cookie が送信されるため、帯域幅が無駄になります。さらに、Cookie はスコープを指定する必要があり、ドメインをまたいで呼び出すことはできません。
セッション
ストレージの場所セッション データは サーバーに配置されます。クライアントは情報を知りませんが、セッションは特別な方法 (memcache) で永続的に管理できます。 、redis);使用法
セッションが作成され、セッションの一貫性の問題が発生した場合
セッションは、一定期間内にサーバーに保存されます。アクセスが増加したときサーバーのパフォーマンスを低下させるには、Cookie を使用する必要があります。セッション
プログラムがクライアントのリクエストに対してセッションを作成する必要がある場合、サーバーは最初に チェックを行います。 client's requestセッション識別子 (セッション ID と呼ばれる) が含まれているかどうか 。含まれている場合は、このクライアントに対して以前にセッションが作成されていることを意味し、サーバーはセッション ID に従ってこのセッションを渡します。 を使用して取得します ( が取得できない場合は、新しい が作成されます)。クライアント リクエストにセッション ID が含まれていない場合は、クライアント用にセッションが作成され、このセッションに関連付けられたセッション ID が生成されます。セッション ID の値は、繰り返しが少なく、偽造するパターンが簡単に見つからない文字列である必要があります。. このセッション IDこの応答で保存するためにクライアントに返されます。このセッション ID を保存する方法には Cookie を使用できるため、対話プロセス中にブラウザーはルールに従ってこの ID をサーバーに自動的に送信できます。 通常は Cookie を使用してセッション ID をクライアントに保存します。対話中に、ブラウザはルールに従ってセッション ID をサーバーに送信します。ユーザーが Cookie を無効にしている場合は、URL の書き換えを使用する必要があります。これは、response.encodeURL(url)を通じて実現できます。encodeURL の API の最後は、ブラウザーが Cookie をサポートしている場合、URL は何も処理しません。ブラウザがサポートしていない場合 Cookie がサポートされている場合、URL が書き換えられ、SessionID がアクセス アドレスに接続されます。
ストレージ
サイズ制限なしセッションに保存されるのはセッションは、各ユーザーのプライベート情報を保存するために使用されます。変数の値はサーバー側に保存され、さまざまな顧客に保存されます。これらは SessionID によって区別されます。
オブジェクトです。セッションはハッシュテーブルに似たデータ構造を通じて保存されます。 、任意のタイプのオブジェクトをサポートできます (セッションには複数のオブジェクトを含めることができます)アプリケーション シナリオ
- オンライン モールのショッピング カート
- ユーザーのログイン情報を保存
- 同じユーザーの別のページで使用できるように特定のデータをセッションに入力します
- ユーザーの不正なログインを防止する
- アクセス
以上がCookie とセッションの違いの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ブラウザはビデオをどのフォルダにキャッシュしますか? 私たちは毎日インターネット ブラウザを使用するときに、YouTube でミュージック ビデオを視聴したり、Netflix で映画を視聴したりするなど、さまざまなオンライン ビデオを視聴することがよくあります。これらのビデオは読み込みプロセス中にブラウザによってキャッシュされるため、将来再び再生するときにすぐに読み込むことができます。そこで問題は、これらのキャッシュされたビデオが実際にどのフォルダーに保存されるのかということです。ブラウザーが異なれば、キャッシュされたビデオ フォルダーは異なる場所に保存されます。以下に、いくつかの一般的なブラウザとそのブラウザを紹介します。

DNS (DomainNameSystem) は、ドメイン名を対応する IP アドレスに変換するためにインターネットで使用されるシステムです。 Linux システムでは、DNS キャッシュはドメイン名と IP アドレス間のマッピング関係をローカルに保存するメカニズムです。これにより、ドメイン名解決の速度が向上し、DNS サーバーの負担が軽減されます。 DNS キャッシュを使用すると、システムはその後同じドメイン名にアクセスするときに、毎回 DNS サーバーにクエリ要求を発行する必要がなく、IP アドレスを迅速に取得できるため、ネットワークのパフォーマンスと効率が向上します。この記事では、Linux で DNS キャッシュを表示および更新する方法、関連する詳細およびサンプル コードについて説明します。 DNS キャッシュの重要性 Linux システムでは、DNS キャッシュが重要な役割を果たします。その存在

Guava Cache の初心者ガイド: アプリケーションの高速化 Guava Cache は、アプリケーションのパフォーマンスを大幅に向上させることができる高性能のメモリ内キャッシュ ライブラリです。 LRU (最も最近使用されていないもの)、LFU (最も最近使用されていないもの)、TTL (生存時間) など、さまざまなキャッシュ戦略を提供します。 1. Guava キャッシュをインストールし、Guava キャッシュ ライブラリの依存関係をプロジェクトに追加します。 com.goog

タイトル: HTML ファイルのキャッシュ メカニズムとコード例 はじめに: Web ページを作成するときに、ブラウザーのキャッシュの問題に遭遇することがよくあります。この記事では、HTML ファイルのキャッシュ メカニズムを詳細に紹介し、読者がこのメカニズムをよりよく理解して適用できるように、いくつかの具体的なコード例を示します。 1. ブラウザのキャッシュ原理 ブラウザでは、Web ページにアクセスするたびに、まずキャッシュに Web ページのコピーがあるかどうかを確認します。存在する場合、Web ページのコンテンツはキャッシュから直接取得されます。これがブラウザー キャッシュの基本原理です。ブラウザキャッシュメカニズムの利点

PHPAPCu (php キャッシュの代替) は、PHP アプリケーションを高速化するオペコード キャッシュおよびデータ キャッシュ モジュールです。その可能性を最大限に活用するには、その高度な機能を理解することが重要です。 1. バッチ操作: APCu は、多数のキーと値のペアを同時に処理できるバッチ操作メソッドを提供します。これは、大規模なキャッシュのクリアまたは更新に役立ちます。 //キャッシュキーをバッチで取得 $values=apcu_fetch(["key1","key2","key3"]); //キャッシュキーをバッチでクリア apcu_delete(["key1","key2","key3"]) ;2 .キャッシュの有効期限を設定する: APCu を使用すると、キャッシュ項目の有効期限を設定して、指定した時間が経過すると自動的に期限切れになるようにできます。

PHP 開発では、キャッシュ メカニズムにより、頻繁にアクセスされるデータがメモリまたはディスクに一時的に保存され、データベース アクセスの数が削減され、パフォーマンスが向上します。キャッシュの種類には主にメモリ、ファイル、データベース キャッシュが含まれます。キャッシュは、組み込み関数またはサードパーティのライブラリ (cache_get() や Memcache など) を使用して PHP に実装できます。一般的な実用的なアプリケーションには、データベース クエリ結果をキャッシュしてクエリ パフォーマンスを最適化したり、ページ出力をキャッシュしてレンダリングを高速化したりすることが含まれます。キャッシュ メカニズムにより、Web サイトの応答速度が効果的に向上し、ユーザー エクスペリエンスが向上し、サーバーの負荷が軽減されます。

キャッシュ サイズとクリーンアップ戦略の最適化 適切なキャッシュ サイズを APCu に割り当てることが重要です。キャッシュが小さすぎるとデータを効果的にキャッシュできず、キャッシュが大きすぎるとメモリが無駄に消費されます。一般に、キャッシュ サイズを使用可能なメモリの 1/4 ~ 1/2 に設定するのが妥当な範囲です。さらに、効果的なクリーンアップ戦略を採用することで、古いデータや無効なデータがキャッシュに保持されないようにすることができます。 APCu の自動クリーニング機能を使用することも、カスタム クリーニング メカニズムを実装することもできます。サンプルコード: //キャッシュサイズを256MBに設定 apcu_add("cache_size",268435456); //60分ごとにキャッシュをクリア apcu_add("cache_ttl",60*60); 圧縮を有効にする

ブラウザキャッシュビデオをエクスポートする方法 インターネットの急速な発展に伴い、ビデオは人々の日常生活に欠かせないものになりました。 Web を閲覧しているときに、保存または共有したいビデオ コンテンツに遭遇することがよくありますが、ビデオ ファイルがブラウザのキャッシュにのみ存在するため、ビデオ ファイルのソースが見つからないことがあります。では、ブラウザのキャッシュからビデオをエクスポートするにはどうすればよいでしょうか?この記事では、いくつかの一般的な方法を紹介します。まず、ブラウザキャッシュという概念を明確にする必要があります。ブラウザー キャッシュは、ユーザー エクスペリエンスを向上させるためにブラウザーによって使用されます。
