# フィルタ

Apache でのフィルタの使い方について記述しています。

# フィルタ

mod_deflate
mod_ext_filter
mod_include
AddInputFilter
AddOutputFilter
RemoveInputFilter
RemoveOutputFilter
ExtFilterDefine
ExtFilterOptions
SetInputFilter
SetOutputFilter

フィルタ とは、サーバが送受信したデータに 適用される処理プロセスのことをいいます。クライアントからサーバに 送られたデータは 入力フィルタ によって、サーバから クライアントに送られるデータは出力フィルタによって 処理されます。複数のフィルタを適用することができ、 その順番を厳密に指定することもできます。

Apache 内部では、チャンク (データのぶつ切り) を行ったり、 バイト範囲の指定されたリクエストを扱ったりといった機能を 行う際に、フィルタが使われています。それに加えて、 実行時の設定ディレクティブで選択が可能なフィルタを モジュールが提供できます。 データに適応されるフィルタのセットは、 SetInputFilter, SetOutputFilter, AddInputFilter, AddOutputFilter, RemoveInputFilter, RemoveOutputFilter ディレクティブで制御できます。

現行の Apache HTTP サーバの配布では、 次のユーザ選択可能なフィルタが提供されています。

INCLUDES
  mod_include
  で Server-Side Include をします。
DEFLATE
  mod_deflate
  を使って、クライアントに送信する前に出力を圧縮します。

また、mod_ext_filter モジュールで 外部プログラムをフィルタとして指定することができます。