Internet Server API (ISAPI) ist eine Programmierschnittstelle (Application Programming Interface) von Microsoft, die im Microsoft Internet Information Services (Webserver), dem Microsoft Exchange Server und im Microsoft Internet Security and Acceleration Server (Firewall und Web Cache) verwendet wird. Man unterscheidet ISAPI-Extensions und ISAPI-Filter.
Für den Apache gibt es das mod_isapi. Es wurde von Dritten erstellt und ist nur für Win32-Systeme erhältlich.
Inhaltsverzeichnis |
ISAPI-Erweiterungen sind als nächste Generation der CGI-Anwendungen anzusehen, können jedoch ohne entsprechende Zusatzprogramme von Drittanbietern ausschließlich auf Microsoft Servern ausgeführt werden. Eine ISAPI-Erweiterung ist, anders als ein PHP- oder ASP-Skript, eine DLL-Datei (Dynamic Linked Library), welche je nach Konfiguration bereits beim Starten oder erst bei Bedarf durch den Microsoft Internet Information Server geladen wird. Je nach Anwendungssicherheit können ISAPI-Erweiterungen dabei gemeinsam von einer Host-Anwendung (diese wird zum Ausführen von DLLs benötigt), oder getrennt voneinander ausgeführt werden.
Als klarer Vorteil ist der immense Geschwindigkeitsgewinn (Performance) zu nennen. Im Gegensatz zu Skripts wie ASP oder PHP besteht eine ISAPI-Erweiterung aus fertig kompiliertem Sourcecode (Programm-Teile), wie auch die in Microsoft Betriebssystemen eingesetzten System-DLL-Dateien. Des weiteren ermöglichen ISAPI-Erweiterung einen tieferen Eingriff in die Hard- und Software des ausführenden Systems, wodurch vorhandene Ressourcen (z. B. Arbeitsspeicher, aber auch andere Geräte wie zum Beispiel Videoschnittkarten, ISDN-Adapter-Karten, etc.) besser genutzt und direkt adressiert werden können. Im Gegensatz zu Skript-Dateien sind ISAPI-Erweiterungen nicht lesbar, das heißt, ein Benutzer oder Hacker, der es schafft, direkt auf die Dateien am Webserver zuzugreifen und somit Passwörter und Benutzernamen ausfindig machen kann (übliche Attacke bei Linux-Systemen), kann einer ISAPI-Erweiterung keine sinnvollen Daten entnehmen. Der große Nachteil ist der vergleichsweise hohe Entwicklungsaufwand gegenüber Skripts (PHP, ASP), welcher nur selten durch den Leistungsgewinn gerechtfertigt wird.
Filter arbeiten auf dem selben Prinzip wie Firewalls und greifen direkt in den Datenverkehr eines Webservers, Mailservers oder Proxys ein. Dadurch können sie alle übertragenen Daten lesen und verändern.
ISAPI-Filter sind, anders als ISAPI-Erweiterungen, in jedem Fall bereits nach dem Starten des Webservers im Speicher resident. Wie der Name „Filter“ schon vermuten lässt, befindet sich dieser ISAPI-Filter quasi zwischen dem Webserver und dem Client. In den Einstellungen des Webservers können Fälle vordefiniert werden, in welchen dieser Filter angewendet werden soll. Tritt einer dieser Fälle ein, dann wird die Anfrage nach genau vorgeschriebenem Weg umgeleitet.
ISAPI-Filter werden verstärkt im Microsoft Exchange Server zum Beispiel zur Authentifizierung verwendet.
Häufigste Beispiele für ISAPI-Filter bzw. ISAPI-Erweiterungen sind die bereits im Microsoft Internet Information Server integrierte asp.dll, welche zur Ausführung von ASP-Dateien dient, sowie die separat installierbare php.dll, mit welcher PHP-Dateien auf einem Microsoft Webserver ausgeführt werden können.
Ebay verwendet z. B. die ebayisapi.dll zur Anzeige diverser rechen- und ressourcenintensiver Inhalte.
Text und Bilder der Lexikonartikel stammen aus der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License.