ここでは,HTTPレスポンス圧縮機能を使用する場合に必要なDDの定義について説明します。
HTTPレスポンス圧縮機能を有効にするためには,WebアプリケーションのDDに,フィルタ定義およびフィルタマッピング定義を追加する必要があります。HTTPレスポンス圧縮機能は,フィルタマッピング定義によってマッピングされたURLパターンを持つリソースに対してリクエストがあった場合にだけ有効となります。
次に示すDDの定義例を基に,DDの定義内容を説明します。
:
<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>
:
<!-The filter mappings for Response Compression Filter -->
<filter-mapping>
<filter-name>com.hitachi.software.was.web.ResponseCompressionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> |
<filter>タグで囲まれた部分がフィルタ定義,<filter-mapping>タグで囲まれた部分がフィルタマッピング定義となります。フィルタ定義の<filter-name>タグおよび<filter-class>タグに指定する値は,次のパッケージ名で固定です。
com.hitachi.software.was.web.ResponseCompressionFilter
次に,DDの<init-param>タグ内に定義する内容を示します。
表4-27 HTTPレスポンス圧縮機能使用時のDDの定義内容
定義する項目 | <param-name>に指定する要素 | <param-value>に指定する内容 | デフォルト値 |
---|
URLパターンとHTTPレスポンス圧縮規則のマッピング | url-mapping | URLパターンとHTTPレスポンス圧縮規則名とのマッピングを指定します。 指定を省略した場合は,デフォルト値が適用されます。 | /* |
HTTPレスポンス圧縮規則 | HTTPレスポンス圧縮規則名 | 圧縮するHTTPレスポンスのMedia-Typeと圧縮しきい値(バイト単位)を指定します。圧縮しきい値は,100~2147483647の整数値で指定します。 指定を省略した場合は,すべてのMedia-Typeに圧縮しきい値100が適用されます。 | 100 |
- <この項の構成>
- (1) URLパターンとHTTPレスポンス圧縮規則のマッピング(url-mapping)
- (2) HTTPレスポンス圧縮規則
HTTPレスポンス圧縮機能が有効となるURLパターンと,指定したURLパターンに適用するHTTPレスポンス圧縮規則名のマッピングを指定します。
パラメタ指定時の規則およびURLパターンのマッピング規則を示します。
(a) パラメタ指定時の規則
- URLパターンは,大文字と小文字が区別されます。
- HTTPレスポンス圧縮規則名は,大文字と小文字が区別されます。
- URLパターンとHTTPレスポンス圧縮規則名は,半角のイコール(=)で区切ります。
- 複数指定する場合は,半角のセミコロン(;)で区切ります。
- 複数のURLパターンに該当する場合は,先に指定したものが使用されます。
- パラメタ値の改行,タブ,スペースは無視されます。
- パラメタ値の末尾にある半角のセミコロン(;)は無視されます。
(b) URLパターンのマッピング規則
url-mappingパラメタに定義するURLパターンには,パス一致,拡張子一致,および完全一致のマッピング規則が適用されます。それぞれのマッピング規則を次に示します。
- パス一致
URLパターンとして「/」で始まり「/*」で終わる文字列を指定した場合は,リクエストURLのコンテキストルートからの相対パスがURLパターンの「*」を除く文字列で始まっているときに,一致したとみなされます。また,URLパターンとして「/*」を指定した場合は,すべてのリクエストURLが一致したとみなされます。
- (例)
- URLパターンが「/jsp/*」では,リクエストURLのコンテキストルートからの相対パスが「/jsp/index.jsp」の場合に一致したとみなされます。
- 拡張子一致
URLパターンとして「*.」で始まる文字列を指定した場合は,リクエストURLの拡張子とURLパターンの「*.」に続く文字列と同じであるときに,一致したとみなされます。
- (例)
- URLパターンが「*.jsp」では,リクエストURLのコンテキストルートからの相対パスが「/jsp/index.jsp」の場合に一致したとみなされます。
- 完全一致
URLパターンとして「/」で始まる上記以外の文字列を指定した場合は,リクエストURLのコンテキストルートからの相対パスがこのURLパターンと完全に同じであるときに,一致したとみなされます。
- (例)
- URLパターンが「/jsp/index.jsp」では,リクエストURLのコンテキストルートからの相対パスが「/ jsp/index.jsp」の場合に一致したとみなされます。