Cosminexus システム構築ガイド

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

9.7.3 HTTPレスポンス圧縮フィルタの設定

HTTPレスポンス圧縮フィルタを有効にするためには,次の設定が必要です。

ここでは,HTTPレスポンス圧縮フィルタのWebアプリケーションへの組み込みについて説明します。

HTTPレスポンス圧縮機能を使用する場合の前提条件や圧縮条件については,マニュアル「Cosminexus 機能解説」のフィルタリングによるHTTPレスポンスの圧縮に関する説明を参照してください。また,HTTPレスポンス圧縮機能を使用するWebアプリケーション開発時の留意事項については,マニュアル「Cosminexus 機能解説」のHTTPレスポンス圧縮フィルタを使用するアプリケーションの実装に関する説明を参照してください。

<この項の構成>
(1) HTTPレスポンス圧縮フィルタのWebアプリケーションへの組み込み
(2) 注意事項
(3) 属性ファイルの記述例

(1) HTTPレスポンス圧縮フィルタのWebアプリケーションへの組み込み

WebアプリケーションへのHTTPレスポンス圧縮フィルタの組み込みには,サーバ管理コマンドを使用した属性ファイルの編集による方法と,Server Plug-inを使用する方法と,WebアプリケーションのDD(web.xml)の直接編集による方法の3種類があります。ここでは,サーバ管理コマンドで属性ファイルを編集してフィルタを組み込む方法について説明します。Server Plug-inを使用したフィルタの組み込みについては,マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。また,WebアプリケーションのDD(web.xml)の直接編集によるフィルタの組み込みについては,マニュアル「Cosminexus 機能解説」のHTTPレスポンス圧縮フィルタを使用するアプリケーションの実装に関する説明を参照してください。

WebアプリケーションにHTTPレスポンス圧縮フィルタを組み込むために,フィルタ属性ファイルおよびWAR属性ファイルに設定する内容を次の表に示します。なお,属性ファイルの取得,編集した属性ファイルの設定の手順については,「9.7.1(2) built-inフィルタの組み込み手順」を参照してください。

表9-19 属性ファイルでの設定内容(HTTPレスポンス圧縮フィルタ)

設定項目 属性ファイル名 タグ名 設定内容
フィルタ定義 フィルタ属性ファイル <filter-name>タグ 追加するフィルタ名称を指定します。設定値は,固定値です。

設定値(固定値)
com.hitachi.software.was.web.ResponseCompressionFilter
<filter-class>タグ 追加するフィルタのクラス名を指定します。設定値は,固定値です。

設定値(固定値)
com.hitachi.software.was.web.ResponseCompressionFilter
URLパターンとHTTPレスポンス圧縮規則のマッピング <init-param>タグ内の<param-name>タグ,<param-value>タグ URLパターンとHTTPレスポンス圧縮機能のマッピングを指定します。
詳細については,「(a) URLパターンとHTTPレスポンス圧縮規則のマッピングについて」を参照してください。
HTTPレスポンス圧縮規則 HTTPレスポンスの圧縮規則として,圧縮規則名,Media-Typeと圧縮しきい値を指定します。
詳細については,「(b) HTTPレスポンス圧縮規則について」を参照してください。
フィルタマッピング定義 WAR属性ファイル <filter-mapping>タグ内の<filter-name>タグ フィルタ名称を指定します。設定値は,固定値です。

設定値(固定値)
com.hitachi.software.was.web.ResponseCompressionFilter
<filter-mapping>タグ内の<url-pattern>タグ URLパターンやサーブレットクラスと,HTTPレスポンス圧縮フィルタのマッピングを指定します。HTTPレスポンス圧縮機能は,フィルタマッピング定義によって,マッピングされたURLパターンを持つリソースに対してリクエストがあった場合だけ有効となります。
設定値は,任意です。
(a) URLパターンとHTTPレスポンス圧縮規則のマッピングについて

HTTPレスポンス圧縮機能が有効となるURLパターンと,指定したURLパターンに適用するHTTPレスポンス圧縮規則のマッピングを指定します。

URLパターンとHTTPレスポンス圧縮規則のマッピングは,フィルタ属性ファイルの<init-param>タグで定義します。初期化パラメタの名前(<param-name>タグ)には,「url-mapping」を指定します。また,初期化パラメタの値(<param-value>タグ)には,URLパターンとHTTPレスポンス圧縮機能のマッピングを指定します。デフォルトの設定では,URLパターン「/*」にデフォルトのレスポンス圧縮規則がマッピングされます。

パラメタ指定時の規則を示します。

url-mappingパラメタに定義するURLパターンは,パス一致,拡張子一致,および完全一致のマッピング規則が適用されます。それぞれのマッピング規則を次に示します。

(b) HTTPレスポンス圧縮規則について

レスポンス圧縮規則が有効となるURLパターンに適用するレスポンス圧縮規則を設定します。

レスポンス圧縮規則は,フィルタ属性ファイルの<init-param>タグで定義します。初期化パラメタの名前(<param-name>タグ)には,圧縮規則名を指定します。また,初期化パラメタの値(<param-value>タグ)には,圧縮するHTTPレスポンスのMedia-Typeと圧縮しきい値を指定します。

Media-Type
HTTPレスポンス圧縮機能では,条件として指定したMedia-TypeがHTTPレスポンスに含まれる場合に,HTTPレスポンスを圧縮します。

圧縮しきい値
圧縮しきい値とは,HTTPレスポンスボディのサイズによって,HTTPレスポンスを圧縮するかどうかを判定するためのしきい値です。HTTPレスポンス圧縮機能では,HTTPレスポンスボディのサイズが圧縮しきい値に定義したサイズを超える場合に,HTTPレスポンスを圧縮します。
圧縮しきい値を定義することで,HTTPレスポンスのサイズが小さい場合に,HTTPレスポンスの圧縮に掛かる時間が,通信に掛かる時間よりも大きくならないようにします。
圧縮しきい値は,圧縮するリソースの種別と通信回線の速度によって適切なサイズが決まるので,圧縮しきい値に定義するサイズは実測で求め,適切なサイズを定義することをお勧めします。圧縮しきい値は,100から2,147,483,647までの整数値で指定します。デフォルトの設定では,すべてのMedia-Typeに対して圧縮しきい値「100」が適用されます。

パラメタ指定時の規則を示します。

(2) 注意事項

HTTPレスポンス圧縮フィルタの設定時の注意事項を次に示します。

(3) 属性ファイルの記述例

次に示すそれぞれの場合を例に,属性ファイルの記述例を示します。

(a) HTTPレスポンスのボディサイズで圧縮条件を指定する場合

HTTPレスポンスのボディサイズで圧縮条件を指定する場合の記述例を示します。

記述例では,URLパターンが「/*」のアクセスに対するHTTPレスポンスで,ボディサイズが1,000バイトを超えるものを圧縮します。

(b) URLパターンで圧縮条件を指定する場合

URLパターンで圧縮条件を指定する場合の定義例を示します。

記述例では,URLパターンが「/app/*」のアクセスに対するHTTPレスポンスで次の条件を満たすものを圧縮します。

(c) HTTPレスポンスのMedia-Typeで圧縮条件を指定する場合

HTTPレスポンスのMedia-Typeで圧縮条件を指定する場合の定義例を示します。

記述例はURLパターンが「/*」のアクセスに対するHTTPレスポンスで次の条件を満たすものを圧縮します。

(d) 圧縮条件を組み合わせて指定する場合

次に示す例のように,圧縮条件を組み合わせて定義することもできます。

定義例では,URLパターンが「/app/*」のアクセスに対するHTTPレスポンスで次の条件を満たすものを圧縮します。