]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_isapi.html
Minor nits in documentation. The link to the ISAPI spec is broken.
[apache] / docs / manual / mod / mod_isapi.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>Apache module mod_isapi</TITLE>
5 </HEAD>
6
7 <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
8 <BODY
9  BGCOLOR="#FFFFFF"
10  TEXT="#000000"
11  LINK="#0000FF"
12  VLINK="#000080"
13  ALINK="#FF0000"
14 >
15 <!--#include virtual="header.html" -->
16
17 <H1 ALIGN="CENTER">Module mod_isapi</H1>
18
19 <P>This module is contained in the <CODE>mod_isapi.c</CODE> file, and is
20    compiled in by default. It provides support for ISAPI Extensions when
21    running under Microsoft Windows. Any document with a handler of
22    <CODE>isapi-isa</CODE> will be processed by this module.</P>
23
24 <H2>Purpose</H2>
25
26 <P>This module implements the ISAPI handler extension API, version 2.0. 
27    It allows Internet Server Applications (<EM>i.e.</EM>, ISAPI handlers) 
28    to be used with Apache for Windows.</P>
29
30 <H2>Usage</H2>
31
32 <P>In the server configuration file, add a handler called
33    <CODE>isapi-isa</CODE>, and map it to files with a <CODE>.DLL</CODE>
34    extension. In other words:</P>
35 <PRE>
36     AddHandler isapi-isa dll
37 </PRE>
38 <P>Now simply place the ISA DLLs into your document root, and they will
39    be loaded when their URLs are accessed.</P>
40
41 <P>ISAPI Extensions are governed by the same restrictions as CGI
42    scripts. That is, <CODE>Options ExecCGI</CODE> must be active in the
43    directory that contains the ISA.</P>
44
45 <H2>Notes</H2>
46
47 <P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0
48    specification, except for the "Microsoft-specific" extensions dealing
49    with asynchronous I/O.  Apache's I/O model does not allow asynchronous
50    reading and writing in a manner that the ISAPI could access. If an ISA
51    tries to access async I/O, a message will be place in the error log,
52    to help with debugging.
53
54 <P>Some servers, like Microsoft IIS, load the ISA into the server, and
55    keep it loaded until memory usage is too high, and it is
56    unloaded. Apache currently loads and unloads the ISA for each
57    request. This is inefficient, but Apache's request model makes this
58    method the only method that currently works. A future release may use
59    a more effective loading method.
60
61 <P>Apache 1.3a1 currently limits POST and PUT input to 48k per
62    request. This is to work around a problem with the ISAPI implementation
63    that could result in a denial of service attack. It is expected that
64    support for larger uploads will be added soon.
65
66 <P>Also, remember that while Apache supports ISAPI Extensions, it does
67    not support ISAPI Filters. Support for filters may be added at a later
68    date, but no support is planned at this time.</P>
69
70 <!--#include virtual="footer.html" -->
71 </BODY>
72 </HTML>