slive 00/12/02 13:18:16
Modified: htdocs/manual/mod mod_isapi.html htdocs/manual content-negotiation.html handler.html htdocs/manual/misc FAQ-F.html Log: Update all the examples I can find to use the leading dot when specifying extensions. Revision Changes Path 1.10 +109 -104 httpd-docs-1.3/htdocs/manual/mod/mod_isapi.html Index: mod_isapi.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/mod/mod_isapi.html,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -b -u -r1.9 -r1.10 --- mod_isapi.html 2000/10/08 06:26:10 1.9 +++ mod_isapi.html 2000/12/02 21:18:15 1.10 @@ -51,6 +51,14 @@ problems running their ISAPI extention. <STRONG>Please <EM>do not</EM> post such problems to Apache's lists or bug reporting pages.</STRONG></P> +<H2>Directives</H2> +<UL> +<LI><A HREF="#isapireadaheadbuffer">ISAPIReadAheadBuffer</A> +<LI><A HREF="#isapilognotsupported">ISAPILogNotSupported</A> +<LI><A HREF="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A> +<LI><A HREF="#isapiappendlogtoquery">ISAPIAppendLogToQuery</A> +</UL> + <H2>Usage</H2> <P>In the server configuration file, use the AddHandler directive to @@ -60,24 +68,117 @@ following line:</P> <PRE> - AddHandler isapi-isa dll + AddHandler isapi-isa .dll </PRE> <P>ISAPI extensions are governed by the same permissions and restrictions as CGI scripts. That is, <CODE>Options ExecCGI</CODE> must be set for the directory that contains the ISAPI .dll file.</P> +<P>Now place an ISAPI .dll file into this web directory, with the + <CODE>Options ExecCGI</CODE> set properly, and it will be loaded and + executed when requested by its URL.</P> + <P>Review the <A HREF="#notes">Additional Notes</A> and the <A HREF="#journal">Programmer's Journal</A> for additional details and clarification of the specific ISAPI support offered by mod_isapi.</P> -<H2>Directives</H2> -<UL> -<LI><A HREF="#isapireadaheadbuffer">ISAPIReadAheadBuffer</A> -<LI><A HREF="#isapilognotsupported">ISAPILogNotSupported</A> -<LI><A HREF="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A> -<LI><A HREF="#isapiappendlogtoquery">ISAPIAppendLogToQuery</A> -</UL> +<H2><A NAME="notes">Additional Notes</A></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 unsupported features, including async I/O, a message is + placed in the error log to help with debugging. Since these messages + can become a flood, a new directive; + <CODE>ISAPILogNotSupported Off</CODE>, is introduced in Apache 1.3.13.</P> + +<P>Some servers, like Microsoft IIS, load the ISA into the server, and + keep it loaded until memory usage is too high, or specific configuration + options are used. 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. Apache 2.0 is expected to + support more effective loading and caching methods, with more precise + control over individual ISAPI modules and directories.</P> + +<P>Also, remember that while Apache supports ISAPI Extensions, it + <STRONG>does not support ISAPI Filters.</STRONG> Support for filters may + be added at a later date, but no support is planned at this time.</P> + +<H2><A NAME="journal">Programmer's Journal</A></H2> + +<P>If you are programming Apache 1.3 mod_isapi modules, you must limit your + calls to ServerSupportFunction to the following directives:</P> + +<DL> + <DT>HSE_REQ_SEND_URL_REDIRECT_RESP + <DD>Redirect the user to another location.<BR> + This must be a fully qualified URL (e.g. http://server/location). + <DT>HSE_REQ_SEND_URL + <DD>Redirect the user to another location.<BR> + This cannot be a fully qualified URL, you are not allowed + to pass the protocol or a server name (e.g. simply /location).<BR> + This redirection is handled by the server, not the browser.<BR> + <STRONG>Warning:</STRONG> in their recent documentation, Microsoft + appears to have abandoned the distinction between the two + HSE_REQ_SEND_URL functions. Apache continues to treat them as two + distinct functions with different requirements and behaviors. + <DT>HSE_REQ_SEND_RESPONSE_HEADER + <DD>Apache accepts a response body following the header if it follows + the blank line (two consecutive newlines) in the headers string + argument. This body cannot contain NULLs, since the headers + argument is NULL terminated. + <DT>HSE_REQ_DONE_WITH_SESSION + <DD>Apache considers this a no-op, since the session will be finished + when the ISAPI returns from processing. + <DT>HSE_REQ_MAP_URL_TO_PATH + <DD>Apache will translate a virtual name to a physical name. + <DT>HSE_APPEND_LOG_PARAMETER <EM>Apache 1.3.13 and later</EM> + <DD>This logged message may be captured in any of the following logs: + <UL> + <LI>in the \"%{isapi-parameter}n\" component in a CustomLog directive + <LI>in the %q log component with the ISAPIAppendLogToQuery On directive + <LI>in the error log with the ISAPIAppendLogToErrors On directive + </UL> + The first option, the %{isapi-parameter}n component, is always available + and prefered. + <DT>HSE_REQ_IS_KEEP_CONN <EM>Apache 1.3.13 and later</EM> + <DD>Will return the negotiated Keep-Alive status. + <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX <EM>Apache 1.3.13 and later</EM> + <DD>Will behave as documented, although the fKeepConn flag is ignored. + <DT>HSE_REQ_IS_CONNECTED <EM>Apache 1.3.13 and later</EM> + <DD>Will report false if the request has been aborted. +</DL> + +<P>Apache returns FALSE to any unsupported call to ServerSupportFunction, and + sets the GetLastError value to ERROR_INVALID_PARAMETER.</P> + +<P>Prior to Apache 1.3.13, ReadClient was a noop, and any request with a request + body greater than 48kb was rejected by mod_isapi. As of Apache 1.3.13, + ReadClient now retrieves the request body exceeding the initial buffer + (defined by ISAPIReadAheadBuffer). Based on the ISAPIReadAheadBuffer + setting (number of bytes to buffer prior to calling the ISAPI handler) + shorter requests are sent complete to the extension when it is invoked. + If the request is longer, the ISAPI extension must use ReadClient to + retrieve the remaining request body.</P> + +<P>WriteClient is supported, but only with the HSE_IO_SYNC flag or + no option flag (value of 0). Any other WriteClient request will + be rejected with a return value of FALSE, and a GetLastError + value of ERROR_INVALID_PARAMETER.</P> + +<P>GetServerVariable is supported, although extended server variables do not + exist (as defined by other servers.) All the usual Apache CGI environment + variables are available from GetServerVariable. As of Apache 1.3.13, + the ALL_HTTP and ALL_RAW and variables are now available.</P> + +<P>Apache 2.0 mod_isapi may support additional features introduced in later + versions of the ISAPI specification, as well as limited emulation of + async I/O and the TransmitFile semantics. Apache 2.0 may also support + caching of ISAPI .dlls for performance. No further enhancements to the + Apache 1.3 mod_isapi features are anticipated.</P> + <HR> <H2><A NAME="isapireadaheadbuffer">ISAPIReadAheadBuffer directive</A></H2> @@ -229,103 +330,7 @@ Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extentions to the query field (appended to the CustomLog %q component). <P> -<HR> - -<H2><A NAME="notes">Additional Notes</A></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 unsupported features, including async I/O, a message is - placed in the error log to help with debugging. Since these messages - can become a flood, a new directive; - <CODE>ISAPILogNotSupported Off</CODE>, is introduced in Apache 1.3.13.</P> - -<P>Some servers, like Microsoft IIS, load the ISA into the server, and - keep it loaded until memory usage is too high, or specific configuration - options are used. 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. Apache 2.0 is expected to - support more effective loading and caching methods, with more precise - control over individual ISAPI modules and directories.</P> - -<P>Also, remember that while Apache supports ISAPI Extensions, it - <STRONG>does not support ISAPI Filters.</STRONG> Support for filters may - be added at a later date, but no support is planned at this time.</P> - -<H2><A NAME="journal">Programmer's Journal</A></H2> - -<P>If you are programming Apache 1.3 mod_isapi modules, you must limit your - calls to ServerSupportFunction to the following directives:</P> - -<DL> - <DT>HSE_REQ_SEND_URL_REDIRECT_RESP - <DD>Redirect the user to another location.<BR> - This must be a fully qualified URL (e.g. http://server/location). - <DT>HSE_REQ_SEND_URL - <DD>Redirect the user to another location.<BR> - This cannot be a fully qualified URL, you are not allowed - to pass the protocol or a server name (e.g. simply /location).<BR> - This redirection is handled by the server, not the browser.<BR> - <STRONG>Warning:</STRONG> in their recent documentation, Microsoft - appears to have abandoned the distinction between the two - HSE_REQ_SEND_URL functions. Apache continues to treat them as two - distinct functions with different requirements and behaviors. - <DT>HSE_REQ_SEND_RESPONSE_HEADER - <DD>Apache accepts a response body following the header if it follows - the blank line (two consecutive newlines) in the headers string - argument. This body cannot contain NULLs, since the headers - argument is NULL terminated. - <DT>HSE_REQ_DONE_WITH_SESSION - <DD>Apache considers this a no-op, since the session will be finished - when the ISAPI returns from processing. - <DT>HSE_REQ_MAP_URL_TO_PATH - <DD>Apache will translate a virtual name to a physical name. - <DT>HSE_APPEND_LOG_PARAMETER <EM>Apache 1.3.13 and later</EM> - <DD>This logged message may be captured in any of the following logs: - <UL> - <LI>in the \"%{isapi-parameter}n\" component in a CustomLog directive - <LI>in the %q log component with the ISAPIAppendLogToQuery On directive - <LI>in the error log with the ISAPIAppendLogToErrors On directive - </UL> - The first option, the %{isapi-parameter}n component, is always available - and prefered. - <DT>HSE_REQ_IS_KEEP_CONN <EM>Apache 1.3.13 and later</EM> - <DD>Will return the negotiated Keep-Alive status. - <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX <EM>Apache 1.3.13 and later</EM> - <DD>Will behave as documented, although the fKeepConn flag is ignored. - <DT>HSE_REQ_IS_CONNECTED <EM>Apache 1.3.13 and later</EM> - <DD>Will report false if the request has been aborted. -</DL> -<P>Apache returns FALSE to any unsupported call to ServerSupportFunction, and - sets the GetLastError value to ERROR_INVALID_PARAMETER.</P> - -<P>Prior to Apache 1.3.13, ReadClient was a noop, and any request with a request - body greater than 48kb was rejected by mod_isapi. As of Apache 1.3.13, - ReadClient now retrieves the request body exceeding the initial buffer - (defined by ISAPIReadAheadBuffer). Based on the ISAPIReadAheadBuffer - setting (number of bytes to buffer prior to calling the ISAPI handler) - shorter requests are sent complete to the extension when it is invoked. - If the request is longer, the ISAPI extension must use ReadClient to - retrieve the remaining request body.</P> - -<P>WriteClient is supported, but only with the HSE_IO_SYNC flag or - no option flag (value of 0). Any other WriteClient request will - be rejected with a return value of FALSE, and a GetLastError - value of ERROR_INVALID_PARAMETER.</P> - -<P>GetServerVariable is supported, although extended server variables do not - exist (as defined by other servers.) All the usual Apache CGI environment - variables are available from GetServerVariable. As of Apache 1.3.13, - the ALL_HTTP and ALL_RAW and variables are now available.</P> - -<P>Apache 2.0 mod_isapi may support additional features introduced in later - versions of the ISAPI specification, as well as limited emulation of - async I/O and the TransmitFile semantics. Apache 2.0 may also support - caching of ISAPI .dlls for performance. No further enhancements to the - Apache 1.3 mod_isapi features are anticipated.</P> <!--#include virtual="footer.html" --> </BODY> </HTML> 1.25 +1 -1 httpd-docs-1.3/htdocs/manual/content-negotiation.html Index: content-negotiation.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/content-negotiation.html,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -b -u -r1.24 -r1.25 --- content-negotiation.html 2000/11/22 20:47:56 1.24 +++ content-negotiation.html 2000/12/02 21:18:16 1.25 @@ -111,7 +111,7 @@ file suffix as <CODE>type-map</CODE>; this is best done with a <PRE> - AddHandler type-map var + AddHandler type-map .var </PRE> in the server configuration file. See the comments in the sample config 1.21 +1 -1 httpd-docs-1.3/htdocs/manual/handler.html Index: handler.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/handler.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -b -u -r1.20 -r1.21 --- handler.html 2000/11/16 22:20:08 1.20 +++ handler.html 2000/12/02 21:18:16 1.21 @@ -108,7 +108,7 @@ <pre> Action add-footer /cgi-bin/footer.pl - AddHandler add-footer html + AddHandler add-footer .html </pre> <p>Then the CGI script is responsible for sending the originally 1.8 +2 -2 httpd-docs-1.3/htdocs/manual/misc/FAQ-F.html Index: FAQ-F.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/misc/FAQ-F.html,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -b -u -r1.7 -r1.8 --- FAQ-F.html 2000/11/12 00:25:31 1.7 +++ FAQ-F.html 2000/12/02 21:18:16 1.8 @@ -31,7 +31,7 @@ <!--#include virtual="header.html" --> <H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1> <P> - $Revision: 1.7 $ ($Date: 2000/11/12 00:25:31 $) + $Revision: 1.8 $ ($Date: 2000/12/02 21:18:16 $) </P> <P> The latest version of this FAQ is always available from the main @@ -148,7 +148,7 @@ a line such as <P> <DL> - <DD><CODE>AddHandler cgi-script cgi</CODE> + <DD><CODE>AddHandler cgi-script .cgi</CODE> </DD> </DL> <P></P>