Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)

[目次][用語][索引][前へ][次へ]

2.7.6 セッションIDおよびCookieへのサーバIDの付加

アプリケーションサーバでは,HttpSessionのセッションIDやCookieに,サーバIDを付けることができます。これを,サーバID付加機能といいます。サーバIDは,Webコンテナごとに異なる値を設定します。

セッションIDおよびCookieへのサーバIDの付加についての設定は,J2EEサーバのプロパティをカスタマイズして設定します。J2EEサーバの動作設定のカスタマイズについては,「2.7.8 実行環境での設定」を参照してください。

なお,メモリセッションフェイルオーバ機能を使用する場合は,セッションIDへのサーバIDの付加は必須となります。メモリセッションフェイルオーバ機能については,マニュアル「アプリケーションサーバ 機能解説 互換編」の「6. 拡張機能の互換機能(メモリセッションフェイルオーバ機能)」を参照してください。

注意
この機能で設定するCookieの名前は,ServletまたはJSPで設定するCookieの名前およびWebコンテナが自動で設定するCookieの名前と重複しないようにしてください。Webコンテナが自動で設定する名前は次の名前です。
  • JSESSIONID

アプリケーションサーバのバージョンが09-00以降の場合,Webコンテナが設定するCookieの名前を変更できます。Webコンテナが設定するCookieの名前を変更した場合にCookieへサーバIDを付与したときの注意事項については,「2.7.9 セッション管理の注意事項」を参照してください。

<この項の構成>
(1) HttpSessionのセッションIDへのサーバID付加
(2) CookieへのサーバID付加

(1) HttpSessionのセッションIDへのサーバID付加

セッションIDは,通常,同一のWebコンテナ内では一意となります。しかし,負荷分散機を使用して複数のWebコンテナで構成するシステムの場合,システム全体ではセッションIDが一意にならないおそれがあります。HttpSessionのセッションIDへのサーバID付加機能を使用すると,HttpSessionのセッションIDに,Webコンテナごとに異なるサーバIDが付加されます。これによって,セッションIDをシステム内で一意にできます。

参考
Webサーバとの連携時に,リダイレクタの設定でラウンドロビンでリクエストの振り分けをする場合,HttpSessionのセッションIDを付加するかどうかの設定にかかわらず,セッションIDには,ワーカ名が付加されます。サーバIDは付加されません。

(2) CookieへのサーバID付加

同一のセッションのリクエストを,同一のWebコンテナに転送するには,負荷分散機のCookieによってリクエスト転送先を指定する機能と,CookieへのサーバID付加機能を使用して実現します。

CookieへのサーバID付加機能では,CookieにWebコンテナごとに異なるサーバIDが付加されます。HTTPレスポンスには,サーバIDが付加されたCookieを付けることができるので,同一のセッションのリクエストを,同一のWebコンテナに転送できます。なお,サーバIDが付いたCookieは,HttpSessionを生成したリクエストのレスポンスに付加されます。

なお,次の場合,サーバID付加機能で生成されるCookieにSecure属性が付加されます。