| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Apache module mod_isapi</TITLE> |
| </HEAD> |
| |
| <!-- Background white, links blue (unvisited), navy (visited), red (active) --> |
| <BODY |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#000080" |
| ALINK="#FF0000" |
| > |
| <!--#include virtual="header.html" --> |
| |
| <H1 ALIGN="CENTER">Module mod_isapi</H1> |
| |
| <P>This module is contained in the <CODE>mod_isapi.c</CODE> file, and is |
| compiled in by default. It provides support for ISAPI Extensions when |
| running under Microsoft Windows. Any document with a handler of |
| <CODE>isapi-isa</CODE> will be processed by this module. |
| |
| <H2>Purpose</H2> |
| |
| <P>This module implements the <A |
| HREF="http://www.microsoft.com/win32dev/apiext/isapimrg.htm">ISAPI |
| Extension</A> API. It allows Internet Server Applications (<EM>i.e.</EM>, ISAPI |
| Extensions) to be used with Apache for Windows. |
| |
| <H2>Usage</H2> |
| |
| <P>In the server configuration file, add a handler called |
| <CODE>isapi-isa</CODE>, and map it to files with a <CODE>.DLL</CODE> |
| extension. In other words:</P> |
| <PRE> |
| AddHandler isapi-isa dll |
| </PRE> |
| <P>Now simply place the ISA DLLs into your document root, and they will |
| be loaded when their URLs are accessed.</P> |
| |
| <P>ISAPI Extensions are governed by the same restrictions as CGI |
| scripts. That is, <CODE>Options ExecCGI</CODE> must be active in the |
| directory that contains the ISA.</P> |
| |
| <H2>Notes</H2> |
| |
| <P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0 |
| specification, except for the "Microsoft-specific" extensions dealing |
| with asynchronous I/O. Apache's I/O model does not allow asynchronous |
| reading and writing in a manner that the ISAPI could access. If an ISA |
| tries to access async I/O, a message will be place in the error log, |
| to help with debugging. |
| |
| <P>Some servers, like Microsoft IIS, load the ISA into the server, and |
| keep it loaded until memory usage is too high, and it is |
| unloaded. Apache currently loads and unloads the ISA for each |
| request. This is inefficient, but Apache's request model makes this |
| method the only method that currently works. A future release may use |
| a more effective loading method. |
| |
| <P>Apache 1.3a1 currently limits POST and PUT input to 48k per |
| request. This is to work around a problem with the ISAPI implementation |
| that could result in a denial of service attack. It is expected that |
| support for larger uploads will be added soon. |
| |
| <P>Also, remember that while Apache supports ISAPI Extensions, it does |
| not support ISAPI Filters. Support for filters may be added at a later |
| date, but no support is planned at this time.</P> |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |