mod_isapi.html revision 1e86aafffa12e58c7cfe4244690eff3b82bd02c4
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<HTML>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<HEAD>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<TITLE>Apache module mod_isapi</TITLE>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen</HEAD>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<BODY
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen BGCOLOR="#FFFFFF"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen TEXT="#000000"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen LINK="#0000FF"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen VLINK="#000080"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen ALINK="#FF0000"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<!--#include virtual="header.html" -->
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen<H1 ALIGN="CENTER">Module mod_isapi</H1>
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen<P>This module supports ISAPI Extensions within Apache for Windows.</P>
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen<P><A
d482b35af87f5fd872bad007da0475813a401a49Timo SirainenHREF="module-dict.html#Status"
d482b35af87f5fd872bad007da0475813a401a49Timo SirainenREL="Help"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen><STRONG>Status:</STRONG></A> Base
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<BR>
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo SirainenHREF="module-dict.html#SourceFile"
d482b35af87f5fd872bad007da0475813a401a49Timo SirainenREL="Help"
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen><STRONG>Source File:</STRONG></A> mod_isapi.c
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<BR>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo SirainenHREF="module-dict.html#ModuleIdentifier"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo SirainenREL="Help"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen><STRONG>Module Identifier:</STRONG></A> isapi_module
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<BR>
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainen<A
d482b35af87f5fd872bad007da0475813a401a49Timo SirainenHREF="module-dict.html#Compatibility"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo SirainenREL="Help"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen><STRONG>Compatibility:</STRONG></A> WIN32 only
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen</P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<H2>Summary</H2>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<P>This module implements the Internet Server extension API. It allows
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen Internet Server extensions (<EM>e.g.</EM> ISAPI .dll modules) to be
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen served by Apache for Windows, subject to the noted restrictions.</P>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<P>ISAPI extension modules (.dll files) are written by third parties. The
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen Apache Group does not author these modules, so we provide no support for
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen them. Please contact the ISAPI's author directly if you are experiencing
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen problems running their ISAPI extention. <STRONG>Please <EM>do not</EM>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen post such problems to Apache's lists or bug reporting pages.</STRONG></P>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<H2>Directives</H2>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<UL>
8603622835ec0566e49056ee839ef5992b48c46dTimo Sirainen<LI><A HREF="#isapifilecache">ISAPIFileCache</A>
8603622835ec0566e49056ee839ef5992b48c46dTimo Sirainen<LI><A HREF="#isapireadaheadbuffer">ISAPIReadAheadBuffer</A>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<LI><A HREF="#isapilognotsupported">ISAPILogNotSupported</A>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<LI><A HREF="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<LI><A HREF="#isapiappendlogtoquery">ISAPIAppendLogToQuery</A>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen</UL>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<H2>Usage</H2>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<P>In the server configuration file, use the AddHandler directive to
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen associate ISAPI files with the <CODE>isapi-isa</CODE> handler, and map
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen it to the with their file extensions. To enable any .dll file to be
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen processed as an ISAPI extention, edit the httpd.conf file and add the
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen following line:</P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<PRE>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen AddHandler isapi-isa .dll
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen</PRE>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<P>There is no capability within the Apache server to leave a requested
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen module loaded. However, you may preload and keep a specific module loaded
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen by using the following syntax in your httpd.conf:
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<PRE>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen</PRE>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<P>Whether or not you have preloaded an ISAPI extension, all ISAPI
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen extensions are governed by the same permissions and restrictions
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen as CGI scripts. That is, <CODE>Options ExecCGI</CODE> must be set for
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen the directory that contains the ISAPI .dll file.</P>
3b94ff5951db4d4eddb7a80ed4e3f61207202635Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<P>Review the <A HREF="#notes">Additional Notes</A> and the
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <A HREF="#journal">Programmer's Journal</A> for additional details and
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen clarification of the specific ISAPI support offered by mod_isapi.</P>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<H2><A NAME="notes">Additional Notes</A></H2>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen specification, except for some "Microsoft-specific" extensions dealing
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen with asynchronous I/O. Apache's I/O model does not allow asynchronous
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen reading and writing in a manner that the ISAPI could access. If an ISA
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen tries to access unsupported features, including async I/O, a message is
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen placed in the error log to help with debugging. Since these messages
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen can become a flood, the directive <CODE>ISAPILogNotSupported Off</CODE>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen exists to quiet this noise.</P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<P>Some servers, like Microsoft IIS, load the ISAPI extension into the server
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen and keep it loaded until memory usage is too high, or unless configuration
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen options are specified. Apache currently loads and unloads the ISAPI
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen extension each time it is requested, unless the ISAPICacheFile directive
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen is specified. This is inefficient, but Apache's memory model makes this
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen the most effective method. Many ISAPI modules are subtly incompatible
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen with the Apache server, and unloading these modules helps to ensure the
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen stability of the server.</P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<P>Also, remember that while Apache supports ISAPI Extensions, it
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <STRONG>does not support ISAPI Filters.</STRONG> Support for filters may
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen be added at a later date, but no support is planned at this time.</P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<H2><A NAME="journal">Programmer's Journal</A></H2>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<P>If you are programming Apache 2.0 mod_isapi modules, you must limit your
ace3c14e47a5a865df8aeea2fabc993b609dd163Timo Sirainen calls to ServerSupportFunction to the following directives:</P>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen
ace3c14e47a5a865df8aeea2fabc993b609dd163Timo Sirainen<DL>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DT>HSE_REQ_SEND_URL_REDIRECT_RESP
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen <DD>Redirect the user to another location.<BR>
ace3c14e47a5a865df8aeea2fabc993b609dd163Timo Sirainen This must be a fully qualified URL (e.g. http://server/location).
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen <DT>HSE_REQ_SEND_URL
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen <DD>Redirect the user to another location.<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen This cannot be a fully qualified URL, you are not allowed
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen to pass the protocol or a server name (e.g. simply /location).<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen This redirection is handled by the server, not the browser.<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <STRONG>Warning:</STRONG> in their recent documentation, Microsoft
3b94ff5951db4d4eddb7a80ed4e3f61207202635Timo Sirainen appears to have abandoned the distinction between the two
ace3c14e47a5a865df8aeea2fabc993b609dd163Timo Sirainen HSE_REQ_SEND_URL functions. Apache continues to treat them as two
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen distinct functions with different requirements and behaviors.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DT>HSE_REQ_SEND_RESPONSE_HEADER
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DD>Apache accepts a response body following the header if it follows
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen the blank line (two consecutive newlines) in the headers string
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen argument. This body cannot contain NULLs, since the headers
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen argument is NULL terminated.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DT>HSE_REQ_DONE_WITH_SESSION
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DD>Apache considers this a no-op, since the session will be finished
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen when the ISAPI returns from processing.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DT>HSE_REQ_MAP_URL_TO_PATH
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen <DD>Apache will translate a virtual name to a physical name.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DT>HSE_APPEND_LOG_PARAMETER
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen <DD>This logged message may be captured in any of the following logs:
d8b77aef97e89f1ccc5cbdaef77be9052279e35fTimo Sirainen <UL>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen <LI>in the \"%{isapi-parameter}n\" component in a CustomLog directive
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen <LI>in the %q log component with the ISAPIAppendLogToQuery On directive
659fe5d24825b160cae512538088020d97a60239Timo Sirainen <LI>in the error log with the ISAPIAppendLogToErrors On directive
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen </UL>
659fe5d24825b160cae512538088020d97a60239Timo Sirainen The first option, the %{isapi-parameter}n component, is always available
659fe5d24825b160cae512538088020d97a60239Timo Sirainen and prefered.
659fe5d24825b160cae512538088020d97a60239Timo Sirainen <DT>HSE_REQ_IS_KEEP_CONN
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DD>Will return the negotiated Keep-Alive status.
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DD>Will behave as documented, although the fKeepConn flag is ignored.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DT>HSE_REQ_IS_CONNECTED
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <DD>Will report false if the request has been aborted.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen</DL>
b35f7104715edee0cfac6d46ab0b342033867eb7Timo Sirainen
d8b77aef97e89f1ccc5cbdaef77be9052279e35fTimo Sirainen<P>Apache returns FALSE to any unsupported call to ServerSupportFunction, and
d8b77aef97e89f1ccc5cbdaef77be9052279e35fTimo Sirainen sets the GetLastError value to ERROR_INVALID_PARAMETER.</P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<P>ReadClient retrieves the request body exceeding the initial buffer
d8b77aef97e89f1ccc5cbdaef77be9052279e35fTimo Sirainen (defined by ISAPIReadAheadBuffer). Based on the ISAPIReadAheadBuffer
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen setting (number of bytes to buffer prior to calling the ISAPI handler)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen shorter requests are sent complete to the extension when it is invoked.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen If the request is longer, the ISAPI extension must use ReadClient to
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen retrieve the remaining request body.</P>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<P>WriteClient is supported, but only with the HSE_IO_SYNC flag or
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen no option flag (value of 0). Any other WriteClient request will
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen be rejected with a return value of FALSE, and a GetLastError
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen value of ERROR_INVALID_PARAMETER.</P>
d8b77aef97e89f1ccc5cbdaef77be9052279e35fTimo Sirainen
d8b77aef97e89f1ccc5cbdaef77be9052279e35fTimo Sirainen<P>GetServerVariable is supported, although extended server variables do not
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen exist (as defined by other servers.) All the usual Apache CGI environment
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen variables are available from GetServerVariable, as well as the ALL_HTTP
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen and ALL_RAW values.</P>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<P>Apache 2.0 mod_isapi supports additional features introduced in later
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen versions of the ISAPI specification, as well as limited emulation of
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen async I/O and the TransmitFile semantics. Apache also supports preloading
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen ISAPI .dlls for performance, neither of which were not available under
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen Apache 1.3 mod_isapi.</P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<HR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<H2><A NAME="isapifilecache">ISAPIFileCache directive</A></H2>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<!--%plaintext &lt;?INDEX {\tt ISAPIFileCache} directive&gt; -->
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Syntax"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Syntax:</STRONG></A> ISAPIFileCache <EM>file [file...]</EM><BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Context"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Context:</STRONG></A> server config<BR>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<A
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen HREF="directive-dict.html#Override"
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen REL="Help"
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen><STRONG>Override:</STRONG></A> None<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Status"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Status:</STRONG></A> Base<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Module"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Module:</STRONG></A> mod_isapi<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo SirainenHREF="module-dict.html#Compatibility"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo SirainenREL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Compatibility:</STRONG></A> Apache 2.0 and later, Win32 only<P>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen Specifies a space-separated list of file names to be loaded
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen when the Apache server is launched, and remain loaded until
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen the server is shut down. This directive may be repeated
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen for every ISAPI .dll file desired. The full path name of
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen each file should be specified.
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen <P>
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<HR>
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<H2><A NAME="isapireadaheadbuffer">ISAPIReadAheadBuffer directive</A></H2>
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<!--%plaintext &lt;?INDEX {\tt ISAPIReadAheadBuffer} directive&gt; -->
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<A
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen HREF="directive-dict.html#Syntax"
024815ea2ffdda9ea79919f18e865663977f73eaTimo Sirainen REL="Help"
024815ea2ffdda9ea79919f18e865663977f73eaTimo Sirainen><STRONG>Syntax:</STRONG></A> ISAPIReadAheadBuffer <EM>size</EM><BR>
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<A
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen HREF="directive-dict.html#Default"
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen REL="Help"
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen><STRONG>Default:</STRONG></A> 49152<BR>
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<A
024815ea2ffdda9ea79919f18e865663977f73eaTimo Sirainen HREF="directive-dict.html#Context"
024815ea2ffdda9ea79919f18e865663977f73eaTimo Sirainen REL="Help"
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen><STRONG>Context:</STRONG></A> server config<BR>
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<A
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen HREF="directive-dict.html#Override"
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen REL="Help"
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen><STRONG>Override:</STRONG></A> None<BR>
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen<A
1175f27441385a7011629f295f42708f9a3a4ffcTimo Sirainen HREF="directive-dict.html#Status"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Status:</STRONG></A> Base<BR>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<A
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen HREF="directive-dict.html#Module"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen REL="Help"
6a675eda973195f8c00c101519521b788781ba37Timo Sirainen><STRONG>Module:</STRONG></A> mod_isapi<BR>
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo Sirainen<A
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo SirainenHREF="module-dict.html#Compatibility"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo SirainenREL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen Defines the maximum size of the Read Ahead Buffer sent to
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen ISAPI extentions when they are initally invoked. All
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen remaining data must be retrieved using the ReadClient
690af4a90eaf8611c2573d34126bb7a852c50a44Timo Sirainen callback; some ISAPI extensions may not support the
690af4a90eaf8611c2573d34126bb7a852c50a44Timo Sirainen ReadClient function. Refer questions to the ISAPI extention's
690af4a90eaf8611c2573d34126bb7a852c50a44Timo Sirainen author.
e4fb5bfcdff32d337d054cce36e00e1cdfaae9f8Timo Sirainen <P>
e4fb5bfcdff32d337d054cce36e00e1cdfaae9f8Timo Sirainen<HR>
690af4a90eaf8611c2573d34126bb7a852c50a44Timo Sirainen
690af4a90eaf8611c2573d34126bb7a852c50a44Timo Sirainen<H2><A NAME="isapilognotsupported">ISAPILogNotSupported directive</A></H2>
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen<!--%plaintext &lt;?INDEX {\tt ISAPILogNotSupported} directive&gt; -->
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen HREF="directive-dict.html#Syntax"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen REL="Help"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen><STRONG>Syntax:</STRONG></A> ISAPILogNotSupported <EM>on|off</EM><BR>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen HREF="directive-dict.html#Default"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen REL="Help"
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen><STRONG>Default:</STRONG></A> on<BR>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen HREF="directive-dict.html#Context"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Context:</STRONG></A> server config<BR>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen HREF="directive-dict.html#Override"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
215daa7d5bf9a849849586490fd6fdd28a724dd8Timo Sirainen><STRONG>Override:</STRONG></A> None<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Status"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Status:</STRONG></A> Base<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Module"
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo Sirainen REL="Help"
5c1a8aee989af87bddefd71e2aa83aa2bd695155Timo Sirainen><STRONG>Module:</STRONG></A> mod_isapi<BR>
5c1a8aee989af87bddefd71e2aa83aa2bd695155Timo Sirainen<A
5c1a8aee989af87bddefd71e2aa83aa2bd695155Timo SirainenHREF="module-dict.html#Compatibility"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo SirainenREL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
215daa7d5bf9a849849586490fd6fdd28a724dd8Timo Sirainen
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo Sirainen Logs all requests for unsupported features from ISAPI extentions
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo Sirainen in the server error log. While this should be turned off once
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo Sirainen all desired ISAPI modules are functioning, it defaults to on
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen to help administrators track down problems.
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen <P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<HR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<H2><A NAME="isapiappendlogtoerrors">ISAPIAppendLogToErrors directive</A></H2>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<!--%plaintext &lt;?INDEX {\tt ISAPIAppendLogToErrors} directive&gt; -->
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Syntax"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Syntax:</STRONG></A> ISAPIAppendLogToErrors <EM>on|off</EM><BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Default"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Default:</STRONG></A> off<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Context"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Context:</STRONG></A> server config<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Override"
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Override:</STRONG></A> None<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Status"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Status:</STRONG></A> Base<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Module"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
659fe5d24825b160cae512538088020d97a60239Timo Sirainen><STRONG>Module:</STRONG></A> mod_isapi<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo SirainenHREF="module-dict.html#Compatibility"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo SirainenREL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extentions
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen to the server error log.
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen <P>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<HR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<H2><A NAME="isapiappendlogtoquery">ISAPIAppendLogToQuery directive</A></H2>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<!--%plaintext &lt;?INDEX {\tt ISAPIAppendLogToQuery} directive&gt; -->
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen HREF="directive-dict.html#Syntax"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Syntax:</STRONG></A> ISAPIAppendLogToQuery <EM>on|off</EM><BR>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Default"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Default:</STRONG></A> off<BR>
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen<A
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen HREF="directive-dict.html#Context"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Context:</STRONG></A> server config<BR>
b35f7104715edee0cfac6d46ab0b342033867eb7Timo Sirainen<A
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen HREF="directive-dict.html#Override"
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen REL="Help"
b35f7104715edee0cfac6d46ab0b342033867eb7Timo Sirainen><STRONG>Override:</STRONG></A> None<BR>
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen<A
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen HREF="directive-dict.html#Status"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen REL="Help"
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen><STRONG>Status:</STRONG></A> Base<BR>
b35f7104715edee0cfac6d46ab0b342033867eb7Timo Sirainen<A
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen HREF="directive-dict.html#Module"
b35f7104715edee0cfac6d46ab0b342033867eb7Timo Sirainen REL="Help"
b35f7104715edee0cfac6d46ab0b342033867eb7Timo Sirainen><STRONG>Module:</STRONG></A> mod_isapi<BR>
b35f7104715edee0cfac6d46ab0b342033867eb7Timo Sirainen<A
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo SirainenHREF="module-dict.html#Compatibility"
b2105c78f0fd58281317e6d777ded860f33153a3Timo SirainenREL="Help"
8e7da21696c9f8a6d5e601243fb6172ec85d47b2Timo Sirainen><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extentions
b2105c78f0fd58281317e6d777ded860f33153a3Timo Sirainen to the query field (appended to the CustomLog %q component).
5c1a8aee989af87bddefd71e2aa83aa2bd695155Timo Sirainen <P>
5c1a8aee989af87bddefd71e2aa83aa2bd695155Timo Sirainen
5c1a8aee989af87bddefd71e2aa83aa2bd695155Timo Sirainen<!--#include virtual="footer.html" -->
e06c0b65c16ccce69bbee009ead14d7d3d17a256Timo Sirainen</BODY>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen</HTML>
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen