Internet Server Application Programming Interface: Difference between revisions

Content deleted Content added
No edit summary
Tag: repeating characters
m Removing link(s) undefined (XFDcloser)
 
(41 intermediate revisions by 34 users not shown)
Line 1:
The '''Internet Server Application Programming Interface''' ('''ISAPI''') is an [[N''n''-tier]] [[Application programming interface|API]] of [[Internet Information Services]] (IIS), [[Microsoft]]'s collection of [[Microsoft Windows|Windows]]-based web server services. The most prominent application of IIS and ISAPI is Microsoft's [[web server]].
<!-- Deleted image removed: [[Image:IIS ISAPI Filters.jpg|thumb|ISAPI Filters dialog in Microsoft IIS]] -->
 
The ISAPI has also been implemented by [[Apache HTTP Server|Apache]]'s <tt>{{mono|mod_isapi</tt>}} module so that server-side web applications written for Microsoft's IIS can be used with Apache,. and otherOther third-party web servers like [[Zeus Web Server]] offer ISAPI interfaces, too.
 
[[Microsoft]]'s web server application software is called [[Internet Information Services]], which is made up of a number of "sub-applications" and is vegjfkljgdryvery configurable. [[ASP.NET]] is one such slice of IIS, allowing a programmer to write web applications in his or hertheir choice of programming language (VB.NET, C#, JF#) that's supported by the Microsoft .NET [[Common Language Runtime|CLR]]. '''ISAPI''' is a much lower-level programming system, giving much better performance, at the expense of simplicity. While Microsoft is generally credited with the creation of the ISAPI specification, it was actually co-developed by Process Software and Microsoft with input from a small number of other vendors.<ref>[http://wasd.vsm.com.au/ht_root/doc/scripting/scripting_0600.html ISAPI<!-- Bot generated title -->]</ref>
 
==ISAPI applications==
ISAPI consists of two components: Extensions and Filters.<ref>{{Cite book |title=Web commerce security : design and development|last=Hadi.|first=Nahari|date=2011|publisher=Wiley Pub|others=Krutz, Ronald L.|isbn=9781118098899|___location=Indianapolis|pages=157|oclc=757394142}}</ref> These are the only two types of applications that can be developed using ISAPI. Both Filters and Extensions must be compiled into DLL files which are then registered with IIS to be run on the web server.
 
ISAPI applications can be written using any language which allows the export of standard C functions, for instance C, C++, Delphi. There are a couple of libraries available which help to ease the development of ISAPI applications, and in Delphi Pascal the Intraweb components for web-application development. [[Microsoft Foundation Class Library|MFC]] includes classes for developing ISAPI applications. Additionally, there is the [[ATL Server]] technology which includes a C++ library dedicated to developing ISAPI applications.
Line 22 ⟶ 21:
*Changing request data (URLs or headers) sent by the client
*Controlling which physical file gets mapped to the URL
*Controlling the user name and password used with anonymous or [[Basic access authentication|basic authentication]]
*Modifying or analyzing a request after authentication is complete
*Modifying a response going back to the client
Line 28 ⟶ 27:
*Running processing when a request is complete
*Run processing when a connection with the client is closed
*Performing special logging or [[Web analytics|traffic analysis]].
*Performing custom authentication.
*Handling encryption and compression.
Line 35 ⟶ 34:
This is a list of common ISAPI applications implemented as ISAPI extensions:
* [[Active Server Pages]] (ASP), installed as standard
* ActiveVFP, Active Visual FoxPro installed on IIS
* [[ASP.NET]], installed as standard on IIS 6.0 onwards
* [[Adobe ColdFusion|ColdFusion]], later versions of ColdFusion are installable on IIS
* [[Perl]] ISAPI (aka Perliis), available for free to install
* [[PHP]], available for free to install, not maintained anymore.<ref>{{Cite web|url=https://bugs.php.net/bug.php?id=48299|title = PHP :: Bug #48299 :: Missing php5isapi.DLL in package}}</ref>
 
==ISAPI Developmentdevelopment==
ISAPI applications can be developed using any development tool that can generate a Win32[[Windows API|Windows]] DLL. Wizards for generating ISAPI framework applications have been available in Microsoft development tools since Visual C++ 4.0.
 
==See also==
*[[Internet Information Services]]
*[[ATL Server]]
*[[Server Applicationapplication Programmingprogramming Interfaceinterface|SAPI]]
*[[C++]]
*[[PHP]]
*[[FastCGI]]
*[[FastCGI|FastCGI: An alternative way of interfacing a web server with application code]]
 
{{Web server interfaces}}
==Footnotes==
<references/>
 
==References==
{{Reflist}}
{{Empty section|date=July 2010}}
{{Web server interfaces}}
 
[[Category:Microsoft application programming interfaces]]
 
[[ca:ISAPI]]
[[de:Internet Server API]]
[[es:ISAPI]]
[[fr:ISAPI]]
[[it:ISAPI]]
[[he:Internet Server API]]
[[mn:ISAPI]]
[[ja:ISAPI]]
[[pt:ISAPI]]
[[ru:ISAPI]]
[[uk:ISAPI]]
[[zh:ISAPI]]