blob: 5fde08c1a7d213f10aa3093d50daef03de719508 [file] [log] [blame]
<!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>