Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


9.2.4 DDでの定義

ここでは,HTTPレスポンス圧縮機能を使用する場合に必要なDDの定義について説明します。

HTTPレスポンス圧縮機能を有効にするためには,WebアプリケーションのDDに,フィルタ定義およびフィルタマッピング定義を追加する必要があります。HTTPレスポンス圧縮機能は,フィルタマッピング定義によってマッピングされたURLパターンを持つリソースに対してリクエストがあった場合にだけ有効となります。

HTTPレスポンス圧縮機能の定義は,web.xmlに指定します。

DDでのHTTPレスポンス圧縮機能の定義について次の表に示します。

表9‒6 DDでのHTTPレスポンス圧縮機能の定義

設定項目

指定するタグ

設定内容

フィルタ定義

<filter>タグ内の<filter-name>タグ

追加するフィルタ名称を指定します。設定値は,固定値です。

設定値(固定値)

com.hitachi.software.was.web.ResponseCompressionFilter

<filter>タグ内の<filter-class>タグ

追加するフィルタのクラス名を指定します。設定値は,固定値です。

設定値(固定値)

com.hitachi.software.was.web.ResponseCompressionFilter

URLパターンとHTTPレスポンス圧縮規則のマッピング

<filter-class><init-param>タグ内の<param-name>タグ,<param-value>タグ

URLパターンとHTTPレスポンス圧縮機能のマッピングを指定します。

詳細については,「9.2.4(1) URLパターンとHTTPレスポンス圧縮規則のマッピング(url-mapping)」を参照してください。

HTTPレスポンス圧縮規則

HTTPレスポンスの圧縮規則として,圧縮規則名,Media-Typeと圧縮しきい値を指定します。

詳細については,「9.2.4(2) HTTPレスポンス圧縮規則」を参照してください。

フィルタマッピング定義

<filter-mapping>タグ内の<filter-name>タグ

フィルタ名称を指定します。設定値は,固定値です。

設定値(固定値)

com.hitachi.software.was.web.ResponseCompressionFilter

<filter-mapping>タグ内の<url-pattern>タグ

URLパターンやサーブレットクラスと,HTTPレスポンス圧縮フィルタのマッピングを指定します。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>タグ内に定義する内容を示します。

〈この項の構成〉

(1) URLパターンとHTTPレスポンス圧縮規則のマッピング(url-mapping)

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」の場合に一致したとみなされます。

(2) HTTPレスポンス圧縮規則

圧縮するHTTPレスポンスのMedia-Typeと圧縮しきい値を指定します。

Media-Type

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

圧縮しきい値

圧縮しきい値は,100から2,147,483,647までの整数値で指定します。デフォルトの設定では,すべてのMedia-Typeに対して圧縮しきい値「100」が適用されます。

圧縮しきい値とは,HTTPレスポンスボディのサイズによって,HTTPレスポンスを圧縮するかどうかを判定するためのしきい値です。HTTPレスポンス圧縮機能では,HTTPレスポンスボディのサイズが圧縮しきい値に定義したサイズを超える場合に,HTTPレスポンスを圧縮します。

圧縮しきい値を定義することで,HTTPレスポンスのサイズが小さい場合に,HTTPレスポンスの圧縮に掛かる時間が,通信に掛かる時間よりも大きくならないようにします。

圧縮しきい値は,圧縮するリソースの種別と通信回線の速度によって適切なサイズが決まるので,圧縮しきい値に定義するサイズは実測で求め,適切なサイズを定義することをお勧めします。

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

(3) 注意事項

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