| <!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 (i.e., 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 ascynchronous 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> |