私は Web 開発のトレーニングを受けており、JSPとサーブレットについて学んでいます。私はいくつかの知識を持っていますHttpSession
-私はいくつかのサンプルプロジェクトでそれを使用しました。
ブラウザーで、「Cookie を削除する」オプションを見てきました。Cookie を削除すると、Cookie も削除されHttpSession
ます。
クッキーとセッションは同じですか? それらの違いは何ですか?
Cookie は、クライアントとサーバーの間で送受信される単なる短いテキスト文字列です。Cookie に保存name=bob; password=asdfas
し、それを送受信して、サーバー側でクライアントを識別することができます。これは、短期記憶を持たない銀行の出納係と交換を行っていると考えることができ、取引ごとに身元を確認する必要があります。もちろん、Cookie を使用してこの種の情報を保存することは、非常に安全ではありません。クッキーもサイズに限りがございます。
現在、銀行の窓口係が自分の記憶障害について知っている場合、その情報を紙に書き留めて、短い ID 番号を割り当てることができます。次に、取引ごとに口座番号と運転免許証を提供する代わりに、「私はクライアント 12 です」と言うことができます。
それを Web サーバーに変換する: サーバーは関連情報をセッション オブジェクトに格納し、セッション ID を作成して、Cookie でクライアントに送り返します。クライアントが Cookie を送り返すと、サーバーは ID を使用してセッション オブジェクトを簡単に検索できます。そのため、Cookie を削除すると、セッションが失われます。
もう 1 つの方法は、サーバーが URL 書き換えを使用してセッション ID を交換することです。
リンクがあるとします。ページを調べて、すべての URL を asまたは evenwww.myserver.com/myApp.jsp
として書き換え、その方法で識別子を交換することができます。この手法は Web アプリケーション コンテナーによって処理され、通常は、Cookie のないセッションを使用するように構成を設定することで有効になります。www.myserver.com/myApp.jsp?sessionID=asdf
www.myserver.com/asdf/myApp.jsp
セッションはユーザー情報を含むサーバー側のファイルであり、Cookie はユーザー情報を含むクライアント側のファイルです。セッションには、セッションを特定のユーザーにマップする一意の識別子があります。この識別子は、URL で渡すか、セッション Cookie に保存できます。
最新のサイトのほとんどは 2 番目の方法を使用しており、識別子を URL で渡すのではなく Cookie に保存します (これはセキュリティ リスクをもたらします)。あなたはおそらくこのアプローチを知らずに使用しており、Cookie を削除すると、Cookie に含まれる一意のセッション ID が削除されるため、一致するセッションが事実上消去されます。
Cookie とセッションはどちらも (HTTP 要求をステートフルにするために) ユーザーに関する情報を保存しますが、違いは、Cookie はクライアント側 (ブラウザー) に情報を保存し、セッションはサーバー側に情報を保存することです。Cookie は、制限されたユーザーに関する情報を保存し、各ユーザーの制限されたコンテンツのみを保存するという意味で制限されています。セッションはこのように制限されません。
Cookie は基本的に、Web ブラウザー間でアクセスされるグローバル配列です。値の送受信に何度も使用されます。フォーム間で値にアクセスするためのストレージ メカニズムとして機能します。セッションと比較して、クッキーの使用に制約を追加するブラウザーによってクッキーを無効にすることができます。
セッションは、ログインとログアウトの間の何かとして定義できます。ユーザーがログインしてからログアウトするまでの時間がセッションです。セッションは、セッション時間、つまりログアウトする前の値のみを保存します。セッションは、ユーザーがログオンすると、ユーザーのアクティビティを追跡するために使用されます。
Asp.net でのセッション:
1.アプリケーション全体でデータを維持します。
2.現在のセッションが有効な場合、データを永続化します。複数のコントローラーのアクションとビューからアクセスできるデータが必要な場合、セッションはデータを保存および取得する方法です。
3.セッションは、ユーザー情報を含むサーバー側のファイルです。[セッションは、セッションを特定のユーザーにマッピングする一意の識別子です]
それを Web サーバーに変換する: サーバーは関連情報をセッション オブジェクトに格納し、セッション ID を作成して、Cookie でクライアントに送り返します。クライアントが Cookie を送り返すと、サーバーは ID を使用してセッション オブジェクトを簡単に検索できます。そのため、Cookie を削除すると、セッションが失われます。
Google JSESSIONID . ここでは、サーブレット API が最初に URL 書き換えを使用し、次に Cookie が有効になっている場合は Cookie を使用してセッションを管理する方法について説明します。
HTTP はステートレスであるため、クライアント ブラウザはリクエストごとにセッションの ID をサーバーに送信する必要があります。サーバーは、何らかの手段でこの ID を使用して、そのセッションのデータを取得し、リクエストの存続期間中利用できるようにします。
Cookieはブラウザにテキスト ファイル形式で保存されます。保存されるデータ量は制限されます。4kb[4096bytes]のみが許可されます。$_COOKIE 変数は、同じ名前の複数の Cookie を保持しません。
Cookie の値に簡単にアクセスできます。そのため、安全性が低くなります。setcookie ()関数は、
<html>
鬼ごっこ。
セッションはサーバー側に保存されます。無制限にデータが保存されます。セッションには複数の変数が保持されます。Cookie の値に簡単にアクセスできないため、より安全です。