Cosminexus アプリケーションサーバ V8 機能解説 基本・開発編(Webコンテナ)
Webコンテナでのセッションの管理方法には,HTTP Cookieを使用する方法と,URL書き換えを使用する方法の2種類があります。
Webコンテナは,セッションがどの方法で管理されているかを,セッションIDが何から取得できたかによって判別します。HTTP CookieからセッションIDを取得した場合は,HTTP Cookieによってセッションを管理していると判別します。URLのパスパラメタから取得できた場合は,URL書き換えによってセッションを管理していると判別します。これらの判別は,リクエストごとに実行されます。
ここでは,セッションの管理方法ごとのセッションIDの管理のされ方について説明します。
セッションIDは,HTTP Cookieとして管理されます。
HTTPセッションを新規に作成した場合に,HTTPレスポンスのヘッダにセッションIDを示すHTTP Cookieが付加されます。セッションIDを示すHTTP Cookieの名称は,「JSESSIONID」です。この名称は,Servlet仕様で決められているため,変更できません。なお,作成したHTTPセッションをコミットする前に無効化した場合,HTTP Cookieは付加されません。
セッションIDは,URLのパスパラメタとして管理されます。
セッションIDを示すURLのパスパラメタの名称は,「jsessionid」です。この名称は,Servlet仕様で決められているため,変更できません。セッションIDは,WebコンテナによってURLが書き換えられるときに,URLのパスの最後に,「;jsessionid=セッションID」の形式で付加されます。
URLのパスは,階層構造を持っている,リソースを識別するための値です。URLのパスには,クエリやフラグメントは含まれません。このため,これらの要素がURLに含まれている場合,セッションIDは,クエリまたはフラグメントの直前に付加されます。また,URLにセッションID以外のパスパラメタが含まれている場合,セッションIDを示すパスパラメタは,URLに含まれるパスパラメタの最後に付加されます。
表2-28 URL書き換えによって増加するURLの文字数
機能の使用状況 | 増加するURLの文字数(単位:文字数) |
---|---|
リダイレクタによる負荷分散機能またはサーバID付加機能を使用していない場合 | 44※ |
リダイレクタによる負荷分散機能を使用している場合 | 44※ + 1(ピリオドの文字数)+ワーカ名の文字数 |
サーバID付加機能を使用している場合(リダイレクタによる負荷分散機能を使用していないとき) | 44※ + サーバIDの文字数 |
All Rights Reserved. Copyright (C) 2008, 2011, Hitachi, Ltd.