Internet-serverprogrammeringsgrænseflade - Internet Server Application Programming Interface

Den Internet Server Application Programming Interface ( ISAPI ) er en N-tier API af Internet Information Services (IIS), Microsoft 's samling af Windows -baserede web-server-tjenester. Den mest fremtrædende anvendelse af IIS og ISAPI er Microsofts webserver .

Den ISAPI er også blevet gennemført af Apache 's mod_isapi modul, således at server-side web-applikationer skrevet til Microsofts IIS kan bruges med Apache, og andre tredjeparts webservere som Zeus Web Server tilbyde ISAPI grænseflader.

Microsofts webserverapplikationssoftware kaldes Internet Information Services , der består af et antal "sub-applikationer" og er meget konfigurerbar. ASP.NET er et sådant udsnit af IIS, der tillader en programmør at skrive webapplikationer i deres valg af programmeringssprog ( VB.NET , C # , F # ), der understøttes af Microsoft .NET CLR . ISAPI er et meget lavere programmeringssystem, der giver meget bedre ydelse på bekostning af enkelheden.

ISAPI-applikationer

ISAPI består af to komponenter: Udvidelser og filtre. Dette er de eneste to typer applikationer, der kan udvikles ved hjælp af ISAPI. Både filtre og udvidelser skal kompileres til DLL-filer, som derefter registreres med IIS for at køre på webserveren.

ISAPI-applikationer kan skrives på et hvilket som helst sprog, der tillader eksport af standard C-funktioner, for eksempel C, C ++, Delphi. Der er et par biblioteker til rådighed, der hjælper med at lette udviklingen af ​​ISAPI-applikationer, og i Delphi Pascal Intraweb-komponenterne til udvikling af webapplikationer. MFC inkluderer klasser til udvikling af ISAPI-applikationer. Derudover er der ATL Server- teknologien, der inkluderer et C ++ -bibliotek dedikeret til at udvikle ISAPI-applikationer.

Udvidelser

ISAPI-udvidelser er ægte applikationer, der kører på IIS. De har adgang til al den funktionalitet, der leveres af IIS. ISAPI-udvidelser implementeres som DLL'er , der indlæses i en proces, der styres af IIS. Klienter kan få adgang til ISAPI-udvidelser på samme måde som de får adgang til en statisk HTML-side. Visse filtypenavne eller en komplet mappe eller et websted kan kortlægges for at blive håndteret af en ISAPI-udvidelse.

filtre

ISAPI-filtre bruges til at ændre eller forbedre funktionaliteten leveret af IIS. De kører altid på en IIS-server og filtrerer hver anmodning, indtil de finder en, de har brug for at behandle. Filtre kan programmeres til at undersøge og ændre både indgående og udgående datastrømme. Internt programmerede og eksternt konfigurerede prioriteringer bestemmer i hvilken rækkefølge filtre kaldes.

Filtre implementeres som DLL'er og kan registreres på en IIS-server på et stedniveau eller globalt niveau (dvs. de gælder for alle websteder på en IIS-server). Filtre initialiseres, når arbejderprocessen startes og lytter til alle anmodninger til det sted, hvor den er installeret.

Almindelige opgaver udført af ISAPI-filtre inkluderer:

  • Ændring af anmodningsdata (URL'er eller overskrifter) sendt af klienten
  • Kontrol af, hvilken fysisk fil der bliver kortlagt til URL'en
  • Kontrol af brugernavn og adgangskode, der bruges til anonym eller grundlæggende godkendelse
  • Ændring eller analyse af en anmodning efter godkendelse er afsluttet
  • Ændring af et svar, der går tilbage til klienten
  • Kør brugerdefineret behandling på "adgang nægtet" svar
  • Kører behandlingen, når en anmodning er afsluttet
  • Kør behandlingen, når en forbindelse med klienten er lukket
  • Udfører særlig logning eller trafikanalyse.
  • Udførelse af tilpasset godkendelse.
  • Håndtering af kryptering og komprimering.

Almindelige ISAPI-applikationer

Dette er en liste over almindelige ISAPI-applikationer implementeret som ISAPI-udvidelser:

  • Active Server Pages (ASP), installeret som standard
  • ActiveVFP , Active Visual FoxPro installeret på IIS
  • ASP.NET , installeret som standard på IIS 6.0 og fremefter
  • ColdFusion , senere versioner af ColdFusion kan installeres på IIS
  • Perl ISAPI (aka Perliis), der er gratis at installere
  • PHP , tilgængelig gratis at installere, ikke vedligeholdt længere.

ISAPI-udvikling

ISAPI-applikationer kan udvikles ved hjælp af ethvert udviklingsværktøj, der kan generere en Windows- DLL. Guider til generering af ISAPI-rammeapplikationer har været tilgængelige i Microsoft-udviklingsværktøjer siden Visual C ++ 4.0.

Se også

Referencer