jsessionidの生成方法

(*-*)浩
(*-*)浩オリジナル
2019-05-20 13:30:479168ブラウズ

Jsessionid は Tomcat の sessionid の名前であり、実際には sessionid です。他のコンテナでは jsessionid と呼ばれることはありません。

まず最初に、Web 開発におけるセッション オブジェクトの作成と、sessionId を生成してクライアントに返す動作メカニズムについて説明します。クライアントがセッションオブジェクトに初めてアクセスするとき、同時に新しいセッションオブジェクトを作成します。同時にセッションIDが生成され、このレスポンスではセッションIDがクライアントのブラウザのメモリに次の形式で返されます。将来 request.getSession() が呼び出されたときに、サーバー側のセッション オブジェクトが破棄されない限り、応答メッセージの一部を削除するか、URL を書き換えてクライアントに送り返すことでセッション全体を維持します。サーバー側で生成されたセッションオブジェクトは、クライアントのsessionIdを元に直接取得して返却されますが、sessionIdが取得されない限り再作成されることはありません。

以下は IE でテストされています。IE6.0 のバグとして、すべての Cookie がブロックされていても、IE のプライバシー設定では引き続きセッション Cookie を使用して sessionId が保存されるためです。したがって、以下はすべてに基づいています。セッションクッキーについて議論しました。 jsessionidの生成方法

(1) サーバーが閉じられておらず、セッションオブジェクトの破棄時間以内に、クライアントが再度サーバー側のサーブレットまたはJSPをリクエストすると、最初のリクエストで生成されたsessionIdが追加されます。ヘッダーを送信してサーバーに送信すると、サーバーは sessionId を受信した後、この sessionId に基づいてサーバーに対応するセッション オブジェクトを検索し (このプロセスは透過的です)、セッション オブジェクトを直接返します。セッション オブジェクトを作成します。新しいセッション オブジェクト。

(2) サーバーが閉じられると (以前に生成されたセッション オブジェクトも消滅します)、またはセッション オブジェクトが破棄時間を経過すると、ブラウザ ウィンドウは表示されなくなります。サーバー ウィンドウがサーバー側のサーブレットと JSP を再度リクエストすると、sessionId (サーバーが閉じられるかセッションが破棄されるときに生成されるセッション ID) もサーバー側に送信されます。サーバーは sessionId に基づいて対応するセッション オブジェクトを見つけますが、この時点ではセッション オブジェクトは存在しません。この時点で、新しいセッション オブジェクトが再生成され、新しい sessionId が生成され、新しく生成された sessionId も応答メッセージの形式でブラウザのメモリに送信されます。

(3) . サーバーが閉じられておらず、セッション オブジェクトが破棄時間内にある場合、JSP ページがクライアントに要求されると、ブラウザ ウィンドウが閉じられます。このとき、メモリ内の sessionId も破棄され、サーバーが再度リクエストされます。サーブレットまたは JSP を使用する場合、sessionId はクライアント ブラウザに対して再生成され、ブラウジング メモリに保存されます。

要約すると、jsessionid のワークフローは次の図で簡単に表すことができます。

関連学習の推奨事項:

Java の基礎jsessionidの生成方法

以上がjsessionidの生成方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。