Hitachi

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


2.7.3 セッションの管理方法

ここでは,セッションの管理方法とセッションIDの管理について説明します。

〈この項の構成〉

(1) セッションの管理方法

トラッキングモードでWebコンテナのセッションの管理方法を指定します。トラッキングモードには,HTTP Cookieを使用する方法と,URL書き換えを使用する方法の2種類があります。トラッキングモードは,そのどちらか一方,または両方を選択できます。

(2) セッションの管理にHTTP Cookieを使用する場合のセッションIDの管理

セッションIDは,HTTP Cookieとして管理されます。HTTP CookieにはHttpOnly属性を付与できます。

HTTPセッションを新規に作成した場合に,HTTPレスポンスのヘッダにセッションIDを示すHTTP Cookieが付加されます。セッションIDを示すHTTP Cookieの名称は,「JSESSIONID」です。この名称は,アプリケーションサーバのバージョンが09-00以降の場合,変更できます。

なお,作成したHTTPセッションをコミットする前に無効化した場合,HTTP Cookieは付加されません。

(3) セッションの管理にURL書き換えを使用する場合のセッションIDの管理

セッションIDは,URLのパスパラメタとして管理されます。

セッションIDを示すURLのパスパラメタの名称は,「jsessionid」です。この名称は,アプリケーションサーバのバージョンが09-00以降の場合,変更できます。セッションIDは,WebコンテナによってURLが書き換えられるときに,URLのパスの最後に,「;jsessionid=セッションID」の形式で付加されます。

URLのパスは,階層構造を持っている,リソースを識別するための値です。URLのパスには,クエリやフラグメントは含まれません。このため,これらの要素がURLに含まれている場合,セッションIDは,クエリまたはフラグメントの直前に付加されます。また,URLにセッションID以外のパスパラメタが含まれている場合,セッションIDを示すパスパラメタは,URLに含まれるパスパラメタの最後に付加されます。

ポイント

セッションIDをURLのパスパラメタに追加する場合,URLの文字数が増加します。

増加する文字数を次の表に示します。

表2‒28 URL書き換えによって増加するURLの文字数

機能の使用状況

増加するURLの文字数(単位:文字数)

サーバID付加機能を使用していない場合

44

サーバID付加機能を使用している場合

44 + サーバIDの文字数

データベースセッションフェイルオーバ機能(完全性保障モードが無効の場合)

44 + サーバIDの文字数 + 16(英数字の文字数)

注※

「;jsessionid=」の12文字とセッションIDの32文字の合計です。URLのパスパラメタの名称を変更している場合は,次の値の合計がパスパラメタのサイズとなります。

・パスパラメタの文字数

・セミコロン(;),およびイコール(=)の文字数(2文字)

・HTTPセッションのセッションIDの文字列長(32文字)