HttpServletRequest
のgetSession(boolean)メソッドは、セッションの整合性について言及しています。Tomcatはどのようにセッションの整合性を維持しますか?どのようなルールを使用していますか?どのような方法ですか?ボンネットの下で正確に何が起こっているのですか?
編集
特定のセッションIDはいつどのように作成されますか?たとえば、TomcatはIPアドレスとポートに依存していますか?
Tomcatでは、ManagerBase.generateSessionId()
メソッドがセッションIDの生成を担当します。セッションIDは乱数に基づいて生成されているように見えます。クライアントのIPアドレスをセッションに保存し、それをWebアプリで確認できますが、私が知る限り、Tomcatはそれを行いません。
セッションの整合性について:定義していただけますか?Javaサーブレット仕様バージョン3.0にはそれに関する段落がありますが、それほど多くはありません。
7.1.4セッションの整合性
Webコンテナは、Cookieの使用をサポートしていないクライアントからのHTTP要求を処理しながら、HTTPセッションをサポートできる必要があります。この要件を満たすために、Webコンテナは通常URL書き換えメカニズムをサポートしています。
このブログでは、Tomcatを使用したCookieを使用したセッション追跡について詳しく説明しています。