Cosminexus システム構築ガイド
HTTPレスポンス圧縮フィルタを有効にするためには,次の設定が必要です。
ここでは,HTTPレスポンス圧縮フィルタのWebアプリケーションへの組み込みについて説明します。
HTTPレスポンス圧縮機能を使用する場合の前提条件や圧縮条件については,マニュアル「Cosminexus 機能解説」のフィルタリングによるHTTPレスポンスの圧縮に関する説明を参照してください。また,HTTPレスポンス圧縮機能を使用するWebアプリケーション開発時の留意事項については,マニュアル「Cosminexus 機能解説」のHTTPレスポンス圧縮フィルタを使用するアプリケーションの実装に関する説明を参照してください。
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>タグ | 追加するフィルタ名称を指定します。設定値は,固定値です。
|
| <filter-class>タグ | 追加するフィルタのクラス名を指定します。設定値は,固定値です。
|
||
| URLパターンとHTTPレスポンス圧縮規則のマッピング | <init-param>タグ内の<param-name>タグ,<param-value>タグ | URLパターンとHTTPレスポンス圧縮機能のマッピングを指定します。 詳細については,「(a) URLパターンとHTTPレスポンス圧縮規則のマッピングについて」を参照してください。 |
|
| HTTPレスポンス圧縮規則 | HTTPレスポンスの圧縮規則として,圧縮規則名,Media-Typeと圧縮しきい値を指定します。 詳細については,「(b) HTTPレスポンス圧縮規則について」を参照してください。 |
||
| フィルタマッピング定義 | WAR属性ファイル | <filter-mapping>タグ内の<filter-name>タグ | フィルタ名称を指定します。設定値は,固定値です。
|
| <filter-mapping>タグ内の<url-pattern>タグ | URLパターンやサーブレットクラスと,HTTPレスポンス圧縮フィルタのマッピングを指定します。HTTPレスポンス圧縮機能は,フィルタマッピング定義によって,マッピングされたURLパターンを持つリソースに対してリクエストがあった場合だけ有効となります。 設定値は,任意です。 |
HTTPレスポンス圧縮機能が有効となるURLパターンと,指定したURLパターンに適用するHTTPレスポンス圧縮規則のマッピングを指定します。
URLパターンとHTTPレスポンス圧縮規則のマッピングは,フィルタ属性ファイルの<init-param>タグで定義します。初期化パラメタの名前(<param-name>タグ)には,「url-mapping」を指定します。また,初期化パラメタの値(<param-value>タグ)には,URLパターンとHTTPレスポンス圧縮機能のマッピングを指定します。デフォルトの設定では,URLパターン「/*」にデフォルトのレスポンス圧縮規則がマッピングされます。
パラメタ指定時の規則を示します。
url-mappingパラメタに定義するURLパターンは,パス一致,拡張子一致,および完全一致のマッピング規則が適用されます。それぞれのマッピング規則を次に示します。
レスポンス圧縮規則が有効となるURLパターンに適用するレスポンス圧縮規則を設定します。
レスポンス圧縮規則は,フィルタ属性ファイルの<init-param>タグで定義します。初期化パラメタの名前(<param-name>タグ)には,圧縮規則名を指定します。また,初期化パラメタの値(<param-value>タグ)には,圧縮するHTTPレスポンスのMedia-Typeと圧縮しきい値を指定します。
パラメタ指定時の規則を示します。
HTTPレスポンス圧縮フィルタの設定時の注意事項を次に示します。
次に示すそれぞれの場合を例に,属性ファイルの記述例を示します。
HTTPレスポンスのボディサイズで圧縮条件を指定する場合の記述例を示します。
(省略)
:
<filter>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<filter-class>com.hitachi.software.was.web.ResponseCompressionFilter</filter-class>
<init-param>
<param-name>url-mapping</param-name>
<param-value>
/*=rule1;
</param-value>
</init-param>
<init-param>
<param-name>rule1</param-name>
<param-value>
*:1000;
</param-value>
</init-param>
</filter>
:
(省略)
|
(省略)
:
<filter-mapping>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
:
(省略)
|
記述例では,URLパターンが「/*」のアクセスに対するHTTPレスポンスで,ボディサイズが1,000バイトを超えるものを圧縮します。
URLパターンで圧縮条件を指定する場合の定義例を示します。
(省略)
:
<filter>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<filter-class>com.hitachi.software.was.web.ResponseCompressionFilter</filter-class>
<init-param>
<param-name>url-mapping</param-name>
<param-value>
/app/dir/*=rule1;
*.html=rule1;
</param-value>
</init-param>
<init-param>
<param-name>rule1</param-name>
<param-value>
*:100;
</param-value>
</init-param>
</filter>
:
(省略)
|
(省略)
:
<filter-mapping>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<url-pattern>/app/*</url-pattern>
</filter-mapping>
:
(省略)
|
記述例では,URLパターンが「/app/*」のアクセスに対するHTTPレスポンスで次の条件を満たすものを圧縮します。
HTTPレスポンスのMedia-Typeで圧縮条件を指定する場合の定義例を示します。
(省略)
:
<filter>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<filter-class>com.hitachi.software.was.web.ResponseCompressionFilter</filter-class>
<init-param>
<param-name>url-mapping</param-name>
<param-value>
/*=rule1;
</param-value>
</init-param>
<init-param>
<param-name>rule1</param-name>
<param-value>
text/html:500;
application/pdf:1000;
</param-value>
</init-param>
</filter>
:
(省略)
|
(省略)
:
<filter-mapping>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
:
(省略)
|
記述例はURLパターンが「/*」のアクセスに対するHTTPレスポンスで次の条件を満たすものを圧縮します。
次に示す例のように,圧縮条件を組み合わせて定義することもできます。
(省略)
:
<filter>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<filter-class>com.hitachi.software.was.web.ResponseCompressionFilter</filter-class>
<init-param>
<param-name>url-mapping</param-name>
<param-value>
/app/dir1/*=rule1;
/app/dir2/*=rule2;
*.html=rule3;
</param-value>
</init-param>
<init-param>
<param-name>rule1</param-name>
<param-value>
*:500;
application/pdf:1000;
</param-value>
</init-param>
<init-param>
<param-name>rule2</param-name>
<param-value>
application/pdf:2000;
</param-value>
</init-param>
<init-param>
<param-name>rule3</param-name>
<param-value>
*:100;
</param-value>
</init-param>
</filter>
:
(省略)
|
(省略)
:
<filter-mapping>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<url-pattern>/app/*</url-pattern>
</filter-mapping>
:
(省略)
|
定義例では,URLパターンが「/app/*」のアクセスに対するHTTPレスポンスで次の条件を満たすものを圧縮します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.