ISAPI 【Internet Server Application Program Interface】
概要
ISAPI(Internet Server Application Program Interface)とは、米マイクロソフト(Microsoft)社のWebサーバソフトウェアであるInternet Information Services(IIS)に独自の機能を追加するための、プログラムの呼び出し規約(API)の一つ。IISに開発者が独自に作成したプログラムを組み込んで実行させ、標準にはない独自の機能を追加したり、一部の動作を改変することができる。「ISAPIエクステンション」(ISAPI Extensions)と「ISAPIフィルタ」(ISAPI Filters)の2つの実装方式がある。
ISAPIエクステンションはクライアントからのリクエストに応答する形でプログラムを呼び出して実行する仕組みで、CGIのように動的にレスポンスを生成することができる。Active Server PagesやASP.NETもこの仕組みを用いて実装されている。
ISAPIフィルタはサーバ内部の処理に割り込んで独自の処理を行う「フィルタ」を追加する仕組みである。クライアントからのリクエストを処理する際に独自の機能を追加でき、URLやリクエストの書き換え、認証や暗号化、データ圧縮、ログ書き込み動作の変更などを行うことができる。
いずれの方式でもプログラムの開発はC++言語を用いて行い、Windows標準の部品化された実行ファイルの形式であるDLL(Dynamic Link Library)の形にする。IISの設定画面を操作してDLLファイルを登録することにより利用可能になる。同社の開発ツールであるVisual C++とクラスライブラリのMFC(Microsoft Foundation Class)を用いて開発するのが一般的である。
(2023.2.17更新)