Cosminexus V9 アプリケーションサーバ 機能解説 互換編
URL書き換えによってグローバルセッションを制御する場合の,リクエストラインの最大サイズの設定について説明します。
URL書き換えによってグローバルセッションを制御する場合,URLのパスパラメタには,HTTPセッションのセッションIDとグローバルセッションIDが含まれます。HTTPリクエストのリクエストラインのサイズは,サーバ側およびクライアント側でそれぞれ上限があります。このため,あらかじめリクエストラインの最大サイズを算出して,それを基に,必要に応じてリクエストラインの最大サイズを設定してください。
ここでは,URL書き換えによってグローバルセッションを制御する場合のリクエストラインのサイズの算出方法と,リクエストラインのサイズの上限値を設定する方法について説明します。
URL書き換えによってグローバルセッションを制御する場合の,リクエストラインの最大サイズの設定について説明します。
URL書き換えによってグローバルセッションを制御する場合,URLのパスパラメタには,HTTPセッションのセッションIDとグローバルセッションIDが含まれます。HTTPリクエストのリクエストラインのサイズは,サーバ側およびクライアント側でそれぞれ上限があります。
URL書き換えによってグローバルセッションを制御する場合には,あらかじめリクエストラインの最大サイズを算出して,それを基にサーバおよびクライアントでのリクエストラインの最大サイズを設定しておく必要があります。
URL書き換えを使用する場合のリクエストラインの文字列長の算出方法,およびリクエストラインの最大サイズの設定方法については,「6.7.5 リクエストラインの最大サイズの設定」を参照してください。
リクエストライン全体のサイズは,リクエストラインを構成する各項目のサイズを基に算出してください。
URL書き換えをする場合のリクエストラインの構成を次の図に示します。URL書き換えで使用するパスパラメタは,(d)と(e)に挿入されます。
図6-18 URL書き換えをする場合のリクエストラインの構成
リクエストラインを構成する各項目について説明します。(a)〜(h)は図中の文字と対応しています。
表6-12 URL書き換えをする場合のリクエストラインを構成する項目
図中の文字 | 項目 | 説明 | 例 |
---|---|---|---|
(a) | メソッド | リクエストのメソッドです。 | GET POST |
(b) | スペース | 区切りを示す空白文字です。 1バイト固定です。 |
△ |
(c) | リクエストパス | 宛先を示すパスです。 | http://www.host1:1234/example/test.jsp/example/test.jsp |
(d) | HTTPセッションのセッションIDを示すパスパラメタ | URL書き換えによってURLに付加された,HTTPセッションのセッションIDを示すパスパラメタです。 | ;jsessionid=01234567aaaabbbbccccddddeeeeffffserver1 |
(e) | グローバルセッションIDを示すパスパラメタ | URL書き換えによってURLに付加された。グローバルセッションIDを示すパスパラメタです。 | ;gsessionid=0123456789abcdef01234567aaaabbbbccccddddeeeeffffserver1 |
(f) | クエリ | リクエストに付加されたクエリ文字列です。 | ?a=b&x=y |
(g) | スペース | 区切りを示す空白文字です。 1バイト固定です。 |
△ |
(h) | HTTPバージョン | HTTPのバージョンを示す文字列です。 | HTTP/1.1 |
なお,リクエストラインおよびURLの構成についての詳細は,RFC 2616およびRFC 2396のドキュメントを参照してください。
表6-12の内容のうち,URL書き換えによって付加される(d)と(e)のパスパラメタのサイズの算出方法について説明します。
HTTPセッションのセッションIDを示すパスパラメタのサイズ(バイト) = ";jsessionid=" + <HTTPセッションのセッションID> =12バイト + <HTTPセッションのセッションIDのサイズ(バイト)>※ |
グローバルセッションIDの送信に使用するパスパラメタの文字列長(バイト) = ";" + <グローバルセッションIDの送信に使用するパスパラメタ名のサイズ> + "=" + <グローバルセッションID> = 1バイト + <GIDURLParamNameパラメタに設定した文字列のサイズ(バイト)> + 1バイト + <グローバルセッションIDのサイズ(バイト)>※ |
グローバルセッションIDのサイズ(バイト) = <HTTPセッションのセッションIDのサイズ(バイト)> + 16バイト
リクエストラインの最大サイズの設定方法について説明します。「(2) URL書き換え使用時のリクエストラインのサイズの算出」で算出した値を基に,最大サイズを設定してください。
設定方法は,使用するWebサーバによって異なります。
HTTP Serverを使用する場合は,HTTP Serverの定義ファイル(httpsd.conf)のLimitRequestLineディレクティブで設定します。デフォルトの設定では,8,190バイトです。
LimitRequestLineディレクティブの設定方法の詳細については,マニュアル「HTTP Server」を参照してください。
Microsoft IISを使用する場合のリクエストラインの最大サイズの設定方法については,Microsoft IISのドキュメントを参照してください。
インプロセスHTTPサーバを使用する場合,リクエストラインの最大サイズは,簡易構築定義ファイルで設定します。
パラメタ名は,webserver.connector.inprocess_http.limit.max_request_lineです。webserver.connector.inprocess_http.limit.max_request_lineの値には,リクエストラインの終端を示す改行文字である,(CR(0x0d)+LF(0x0A))の2バイトを含めた値を指定してください。デフォルトの設定では,8,190バイトです。
簡易構築定義ファイルについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「4.6 簡易構築定義ファイル」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.