You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by sl...@locus.apache.org on 2000/12/02 22:18:17 UTC
cvs commit: httpd-docs-1.3/htdocs/manual/misc FAQ-F.html
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>