2.7.6 セッションIDおよびCookieへのサーバIDの付加
アプリケーションサーバでは,HttpSessionのセッションIDやCookieに,サーバIDを付けることができます。これを,サーバID付加機能といいます。サーバIDは,Webコンテナごとに異なる値を設定します。
セッションIDおよびCookieへのサーバIDの付加についての設定は,J2EEサーバのプロパティをカスタマイズして設定します。J2EEサーバの動作設定のカスタマイズについては,「2.7.8 実行環境での設定」を参照してください。
- 注意事項
-
この機能で設定するCookieの名前は,ServletまたはJSPで設定するCookieの名前およびWebコンテナが自動で設定するCookieの名前と重複しないようにしてください。Webコンテナが自動で設定する名前は次の名前です。
-
JSESSIONID
-
アプリケーションサーバのバージョンが09-00以降の場合,Webコンテナが設定するCookieの名前を変更できます。Webコンテナが設定するCookieの名前を変更した場合にCookieへサーバIDを付与したときの注意事項については,「2.7.9 セッション管理の注意事項」を参照してください。
(1) HttpSessionのセッションIDへのサーバID付加
セッションIDは,通常,同一のWebコンテナ内では一意となります。しかし,負荷分散機を使用して複数のWebコンテナで構成するシステムの場合,システム全体ではセッションIDが一意にならないおそれがあります。HttpSessionのセッションIDへのサーバID付加機能を使用すると,HttpSessionのセッションIDに,Webコンテナごとに異なるサーバIDが付加されます。これによって,セッションIDをシステム内で一意にできます。
(2) CookieへのサーバID付加
同一のセッションのリクエストを,同一のWebコンテナに転送するには,負荷分散機のCookieによってリクエスト転送先を指定する機能と,CookieへのサーバID付加機能を使用して実現します。
CookieへのサーバID付加機能では,CookieにWebコンテナごとに異なるサーバIDが付加されます。HTTPレスポンスには,サーバIDが付加されたCookieを付けることができるので,同一のセッションのリクエストを,同一のWebコンテナに転送できます。なお,サーバIDが付いたCookieは,HttpSessionを生成したリクエストのレスポンスに付加されます。
なお,次の場合,サーバID付加機能で生成されるCookieにSecure属性が付加されます。
-
HTTPリクエストがHTTPSプロトコルで送信されている場合
-
ゲートウェイ指定機能でスキームをHTTPSと見なすように設定した場合