具体的には、Cookieは「クライアント」に保存され、セッションは「サーバー」に保存されます。
Cookieはhttpプロトコルを拡張することで実装されます
Cookieには主に名前、値、有効期限、パス、ドメインが含まれます。
Cookie にライフサイクルが設定されていない場合、ブラウザを閉じると、この種の Cookie は通常、ハードディスクではなくメモリに保存されます。ライフサイクルが設定されている場合は、その逆になります。 true。ブラウザを閉じても、これらの Cookie は設定された有効期限まで有効です。
セッションは情報をハッシュテーブルのような形式で保存します
プログラムがクライアントのリクエストに対してセッションを作成する必要がある場合、サーバーはまずクライアントのリクエストにすでにセッション識別子が含まれているかどうかを確認します
(セッション ID と呼ばれます)。これが含まれている場合、サーバーはセッション ID に従ってこのセッションを取得し、それを使用します (取得できない場合は、新しいもの)。クライアントのリクエストにセッション ID が含まれていない場合は、このクライアントのセッションを作成し、このセッションに関連付けられたセッション ID の値は、重複しない、またはパターンを見つけにくい文字列にする必要があります。このセッション ID は、保存のためにこの応答でクライアントに返されます。このセッション ID を保存する方法には Cookie を使用できるため、対話プロセス中にブラウザーはルールに従ってこの ID をサーバーに自動的に送信できます。通常、この Cookie の名前は SEEESIONID に似ています。ただし、Cookie は人為的に無効にすることができるため、Cookie が無効になっている場合でもセッション ID をサーバーに戻す他のメカニズムが必要です。
メリットとデメリット:
1. Cookieデータはお客様のブラウザに保存され、セッションデータはサーバーに保存されます。
2. Cookie はあまり安全ではありません。ローカルに保存されている Cookie を分析して、Cookie を欺く可能性があります。
セキュリティ上の理由からセッションを使用する必要があります。
サーバーパフォーマンスの低下を考慮して、COOKIEを使用する必要があります。
ログイン情報などの重要な情報をSESSIONとして保存
セッションとCookieの使用の概要:
コードをコピーします コードは次のとおりです:
3. Cookieの有効期間の設定
httpCookie.Expires = DateTime.Now.AddMinutes(2);
クッキーの有効期限は2分間です
4. Web ページへのアクセス許可があるかどうかを判断する場合は、次のように判断できます。
1. セッションと Cookie の値は終了時にクリアされます。次に、セッションのいくつかの方法の違いについて簡単に説明します。
Session["admin"]=null: 指定されたキーの値がクリアされて解放されることを示します。これは、クリアされますが、セッションは解放されません。 session.Remove ("name");
と同等です。
Session.Abandon() は現在の Session オブジェクトを削除し、次回は新しい Session になります。
主な違いは、Session.Abandon を使用する場合、Session_End メソッド (InProc モード) が呼び出されることです。 Session_Start メソッドは、次のリクエストが来たときに起動されます。そして、Session.Clear はセッション内のすべてのデータをクリアするだけであり、
を中止しません。
Session なので、これらのメソッドは呼び出されません。このメソッドが呼び出されない場合、Abandon メソッドはセッションがタイムアウトすると自動的に終了します。
2. Cookieをクリアする方法を見てみましょう
A. tpCookie cookie = System.Web.HttpContext.Current.Request.Cookies.Get("tuser");
cookie.Expires = DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
B. tpCookie httpCookie = Request.Cookies["httpCookie"];
httpCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(httpCookie);
両方の方法が利用可能です
3. したがって、セッションの現在の値、つまりSession["admin']=nullをクリアするだけです。上記の方法に従ってCookieをクリアするだけです
提案とコメント:
1. 終了するときに、時間を書き込むためのログアウト ページを作成できます。
上記は、PHP における Cookie とセッションの違いと、Cookie とセッションの使用方法の概要について、編集者が詳しく紹介した関連知識です。ご質問があれば、お気軽にお問い合わせください。私にメッセージをいただければ、編集者がすぐに全員に返信します。また、Bangkejia ウェブサイトをサポートしてくださった皆様にも感謝いたします。
http://www.bkjia.com/PHPjc/1136664.html