• 検索結果がありません。

JSP 2.0,2.1 JSP ページ ISO-8859-1

2.10  HTTP レスポンス圧縮機能

2.10.4  DD での定義

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

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

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

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

表 2‒40 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 レスポンス圧縮機能のマッピングを指定します。

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

HTTP レスポンス圧 縮規則

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

詳細については,「2.10.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 レスポンスの圧縮 に掛かる時間が,通信に掛かる時間よりも大きくならないようにします。

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

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

• Media-Type にアスタリスク(*)を指定した場合は,すべての Media-Type を表します。ただし,

Media-Type ごとの指定がある場合は,Media-Type ごとの指定が優先されます。

• Media-Type は,大文字と小文字が区別されません。

• Media-Type と圧縮しきい値は,半角のコロン(:)で区切ります。

• 複数指定する場合は半角のセミコロン(;)で区切ります。

• 同じ Media-Type を複数指定した場合はあとに指定したものが使用されます。

• パラメタ値の改行,タブ,スペースは無視されます。

• パラメタ値の末尾にある半角のセミコロン(;)は無視されます。

(3) 注意事項

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

• レスポンス圧縮用フィルタの初期化時に,フィルタの初期化パラメタの妥当性をチェックします。ここ で初期化パラメタに定義された値に問題がある場合は,フィルタの初期化処理でエラーとなり,Web アプリケーションは開始しません。

• リクエスト URL が url-mapping パラメタに指定した URL パターンに一致しても,レスポンス圧縮用 フィルタがマッピングされている URL パターンに一致しない場合は,url-mapping パラメタに指定し たレスポンス圧縮規則が適用されることはありません。

• レスポンス圧縮フィルタに複数の URL パターンをマッピングする場合は,リクエスト URL が同時に複 数の URL パターンに一致しないようにフィルタマッピングの定義を記述する必要があります。複数の URL パターンに対して異なるレスポンス圧縮機能を設定する場合は,url-mapping パラメタに複数の URL パターンを指定してください。

• メモリセッションフェイルオーバ機能を使用している場合は,セッションフェイルオーバ用フィルタの フィルタマッピングの定義よりも下にレスポンス圧縮フィルタのフィルタマッピングの定義を記述し てください。

• Web アプリケーションのバージョンが Servlet 2.4 以降の場合,<filter-mapping>の<dispatcher>タ グは指定しないでください。また,<dispatcher>タグで「FORWARD」,「INCLUDE」,「ERROR」

を指定した場合,Web アプリケーションの開始時にエラーが発生し,アプリケーションが開始できな いので,注意してください。

Outline

関連したドキュメント