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

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

2.7.3 セッションの管理方法

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

<この項の構成>
(1) セッションの管理方法
(2) セッションの管理にHTTP Cookieを使用する場合のセッションIDの管理
(3) セッションの管理にURL書き換えを使用する場合のセッション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
リダイレクタによる負荷分散機能を使用している場合 44 + 1(ピリオドの文字数)+ワーカ名の文字数
サーバID付加機能を使用している場合(リダイレクタによる負荷分散機能を使用していないとき) 44 + サーバIDの文字数
データベースセッションフェイルオーバ機能(完全性保障モードが無効の場合)またはEADsセッションフェイルオーバ機能を使用している場合 44 + サーバIDの文字数 + 16(英数字の文字数)

注※
「;jsessionid=」の12文字とセッションIDの32文字の合計です。URLのパスパラメタの名称を変更している場合は,次の値の合計がパスパラメタのサイズとなります。
・パスパラメタの文字数
・セミコロン(;),およびイコール(=)の文字数(2文字)
・HTTPセッションのセッションIDの文字列長(32文字)