ISAPI フィルタをインストールする

ISAPI フィルタをインストールする

ISAPI フィルタは Web サーバーが HTTP 要求を受け取った際に応答するプログラムです。ISAPI フィルタは、クライアントからの要求ではなく、Web サーバーのイベントによって呼び出される点がアプリケーションとは異なります。ISAPI フィルタを特定の Web サーバーのイベントに関連付けると、その関連付けられたイベントが発生するたびにフィルタが呼び出されます。たとえば、読み取りまたは書き込みのイベントが発生したときにフィルタを呼び出して、クライアントに返すデータを暗号化することができます。

サーバーのすべてのサイトに適用されるフィルタ (グローバル フィルタ) をインストールすることも、個々の Web サイトに適用されるフィルタをインストールすることもできます。グローバル フィルタとサイト フィルタの両方をインストールした場合は、2 つのフィルタ リストがマージされてサイトに適用されます。

同じイベントに対して複数のフィルタが登録されている場合、フィルタは順番に呼び出されます。優先順位の高いフィルタは、優先順位の低いフィルタより先に実行されます。同じ優先順位のフィルタが複数ある場合は、マスタ プロパティで設定されたグローバル フィルタが、サイト レベルで設定されたフィルタより先に実行されます。同じ優先順位で同じ継承レベルにあるフィルタは、読み込まれた順序で実行されます。フィルタが読み込まれる順序は、Web サーバーまたは Web サイトのプロパティ シートで変更できます。

ISAPI 拡張とは異なり、ISAPI フィルタは常にサーバー プロセスで実行されます。

Web サーバーまたは Web サイトにフィルタを追加するには

  1. インターネット インフォメーション サービス スナップインで、Web サーバーまたは Web サイトを選択し、プロパティ シートを開きます。

  2. [ISAPI フィルタ] タブを選択します。

       Web サイトにフィルタを追加する場合、Web サーバーのマスタ プロパティから継承されたグローバル フィルタは表示されません。両方のフィルタが実行されていても、Web サイトにインストールされたフィルタだけが表示されます。

  3. [追加] をクリックします。

  4. [フィルタ名] ボックスにフィルタの名前を入力します。[実行ファイル] ボックスに DLL ファイルの名前を入力するか、[参照] をクリックしてファイルを選択します。

  5. [OK] をクリックします。

  6. フィルタが読み込まれる順序を変更するには、上下の矢印をクリックします。

       フィルタが読み込まれる順序を変更できるのは、同じ優先順位のときだけです。

  7. グローバル フィルタを追加または変更した場合は、Web サーバーを停止、再起動して新しいフィルタをメモリに読み込む必要があります。Web サイト レベルで追加したフィルタは、追加時に自動的に読み込まれます。

   HTTP 要求によってフィルタの登録先のイベントが発生すると、それがファイル、CGI アプリケーション、または ISAPI 拡張のいずれに対する要求であっても、要求に含まれるデータがフィルタに渡されます。