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:39:03 UTC

cvs commit: httpd-docs-2.0/htdocs/manual/misc FAQ-F.html

slive       00/12/02 13:39:03

  Modified:    htdocs/manual/mod mod_mime.html mod_isapi.html
               htdocs/manual content-negotiation.html handler.html
               htdocs/manual/misc FAQ-F.html
  Log:
  Consistency enforcement for directives that take extensions and a
  reformat of mod_isapi.html into the new standard format.
  
  Revision  Changes    Path
  1.40      +27 -5     httpd-docs-2.0/htdocs/manual/mod/mod_mime.html
  
  Index: mod_mime.html
  ===================================================================
  RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/mod/mod_mime.html,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -d -b -u -r1.39 -r1.40
  --- mod_mime.html	2000/11/20 18:29:55	1.39
  +++ mod_mime.html	2000/12/02 21:39:02	1.40
  @@ -46,7 +46,7 @@
   
   The directives <a href="#addcharset">AddCharset</a>,
   <A HREF="#addencoding">AddEncoding</A>, <A HREF="#addhandler">AddHandler</A>,
  -A HREF="#SetFilter">SetFilter</A>, <A HREF="#addlanguage">AddLanguage</A> 
  +<A HREF="#SetFilter">SetFilter</A>, <A HREF="#addlanguage">AddLanguage</A> 
   and <A HREF="#addtype">AddType</A> are all used to map file extensions onto 
   the meta-information for that file.  Respectively they set the character set,
   content-encoding, handler, content-language, and MIME-type (content-type) of 
  @@ -163,6 +163,10 @@
   the server returns one from several documents based on the client's
   charset preference.
   </P>
  +
  +<p>The <em>extension</em> argument is case-insensitive, and can
  +be specified with or without a leading dot.</p>
  +
   <P>
   <STRONG>See also</STRONG>: <A HREF="mod_negotiation.html">mod_negotiation</A>
   </P>
  @@ -199,7 +203,9 @@
   for the same <EM>extension</EM>.
   
   Example:
  -<BLOCKQUOTE><CODE> AddEncoding x-gzip gz<BR> AddEncoding x-compress Z
  +<BLOCKQUOTE><CODE>
  +AddEncoding x-gzip .gz<BR> 
  +AddEncoding x-compress .Z
   </CODE></BLOCKQUOTE>
   
   This will cause filenames containing the .gz extension to be marked as
  @@ -218,6 +224,9 @@
   for these two specific encodings.  More recent encodings, such as
   <CODE>deflate</CODE> should be specified without the <CODE>x-</CODE>.
   
  +<p>The <em>extension</em> argument is case-insensitive, and can
  +be specified with or without a leading dot.</p>
  +
   <P>
   
   <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with
  @@ -256,13 +265,16 @@
   For example, to activate CGI scripts
   with the file extension "<CODE>.cgi</CODE>", you might use:
   <PRE>
  -    AddHandler cgi-script cgi
  +    AddHandler cgi-script .cgi
   </PRE>
   
   <P>Once that has been put into your srm.conf or httpd.conf file, any
   file containing the "<CODE>.cgi</CODE>" extension will be treated as a
   CGI program.</P> 
   
  +<p>The <em>extension</em> argument is case-insensitive, and can
  +be specified with or without a leading dot.</p>
  +
   <P>
   
   <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with
  @@ -302,7 +314,7 @@
   </P>
   <P>
   Example: <BLOCKQUOTE><CODE>
  -AddEncoding x-compress Z<BR> AddLanguage en .en<BR> AddLanguage fr
  +AddEncoding x-compress .Z<BR> AddLanguage en .en<BR> AddLanguage fr
   .fr<BR> </CODE></BLOCKQUOTE>
   </P>
   <P>
  @@ -329,6 +341,10 @@
   documents with the extension "<CODE>.en</CODE>" would be treated as
   being "<CODE>en-us</CODE>".
   </P>
  +
  +<p>The <em>extension</em> argument is case-insensitive, and can
  +be specified with or without a leading dot.</p>
  +
   <P>
   <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with
   multiple extensions</A>
  @@ -425,13 +441,16 @@
   
   Example:
   <BLOCKQUOTE><CODE>
  -AddType image/gif GIF
  +AddType image/gif .gif
   </CODE></BLOCKQUOTE>
   It is recommended that new MIME types be added using the AddType directive
   rather than changing the <A HREF="#typesconfig">TypesConfig</A> file.<P>
   Note that, unlike the NCSA httpd, this directive cannot be used to set the
   type of particular files.<P>
   
  +<p>The <em>extension</em> argument is case-insensitive, and can
  +be specified with or without a leading dot.</p>
  +
   <P>
   
   <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with
  @@ -559,6 +578,9 @@
   files, rather than as candidates for parsing (see the
   <A HREF="mod_include.html"><SAMP>mod_include</SAMP></A> module).
   </P>
  +<p>The <em>extension</em> argument is case-insensitive, and can
  +be specified with or without a leading dot.</p>
  +
   <HR>
   
   <H2><A NAME="sethandler">SetHandler</A> directive</H2>
  
  
  
  1.8       +105 -104  httpd-docs-2.0/htdocs/manual/mod/mod_isapi.html
  
  Index: mod_isapi.html
  ===================================================================
  RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/mod/mod_isapi.html,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -d -b -u -r1.7 -r1.8
  --- mod_isapi.html	2000/10/03 06:08:34	1.7
  +++ mod_isapi.html	2000/12/02 21:39:02	1.8
  @@ -51,6 +51,15 @@
      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="#isapifilecache">ISAPIFileCache</A>
  +<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,7 +69,7 @@
      following line:</P>
   
   <PRE>
  -    AddHandler isapi-isa dll
  +    AddHandler isapi-isa .dll
   </PRE>
   
   <P>There is no capability within the Apache server to leave a requested
  @@ -80,14 +89,101 @@
      <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="#isapifilecache">ISAPIFileCache</A>
  -<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 some "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, the directive <CODE>ISAPILogNotSupported Off</CODE>
  +   exists to quiet this noise.</P>
  +
  +<P>Some servers, like Microsoft IIS, load the ISAPI extension into the server
  +   and keep it loaded until memory usage is too high, or unless configuration
  +   options are specified.  Apache currently loads and unloads the ISAPI
  +   extension each time it is requested, unless the ISAPICacheFile directive
  +   is specified.  This is inefficient, but Apache's memory model makes this
  +   the most effective method.  Many ISAPI modules are subtly incompatible 
  +   with the Apache server, and unloading these modules helps to ensure the
  +   stability of the server.</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 2.0 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
  +    <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
  +    <DD>Will return the negotiated Keep-Alive status.
  +  <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX
  +    <DD>Will behave as documented, although the fKeepConn flag is ignored.
  +  <DT>HSE_REQ_IS_CONNECTED
  +    <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>ReadClient 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 well as the ALL_HTTP 
  +   and ALL_RAW values.</P>
  +
  +<P>Apache 2.0 mod_isapi supports additional features introduced in later
  +   versions of the ISAPI specification, as well as limited emulation of
  +   async I/O and the TransmitFile semantics.  Apache also supports preloading
  +   ISAPI .dlls for performance, neither of which were not available under
  +   Apache 1.3 mod_isapi.</P>
  +
   <HR>
   
   <H2><A NAME="isapifilecache">ISAPIFileCache directive</A></H2>
  @@ -274,102 +370,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 some "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, the directive <CODE>ISAPILogNotSupported Off</CODE>
  -   exists to quiet this noise.</P>
  -
  -<P>Some servers, like Microsoft IIS, load the ISAPI extension into the server
  -   and keep it loaded until memory usage is too high, or unless configuration
  -   options are specified.  Apache currently loads and unloads the ISAPI
  -   extension each time it is requested, unless the ISAPICacheFile directive
  -   is specified.  This is inefficient, but Apache's memory model makes this
  -   the most effective method.  Many ISAPI modules are subtly incompatible 
  -   with the Apache server, and unloading these modules helps to ensure the
  -   stability of the server.</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 2.0 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
  -    <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
  -    <DD>Will return the negotiated Keep-Alive status.
  -  <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX
  -    <DD>Will behave as documented, although the fKeepConn flag is ignored.
  -  <DT>HSE_REQ_IS_CONNECTED
  -    <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>ReadClient 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 well as the ALL_HTTP 
  -   and ALL_RAW values.</P>
  -
  -<P>Apache 2.0 mod_isapi supports additional features introduced in later
  -   versions of the ISAPI specification, as well as limited emulation of
  -   async I/O and the TransmitFile semantics.  Apache also supports preloading
  -   ISAPI .dlls for performance, neither of which were not available under
  -   Apache 1.3 mod_isapi.</P>
   <!--#include virtual="footer.html" -->
   </BODY>
   </HTML>
  
  
  
  1.23      +1 -1      httpd-docs-2.0/htdocs/manual/content-negotiation.html
  
  Index: content-negotiation.html
  ===================================================================
  RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/content-negotiation.html,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -d -b -u -r1.22 -r1.23
  --- content-negotiation.html	1999/06/04 17:15:48	1.22
  +++ content-negotiation.html	2000/12/02 21:39:02	1.23
  @@ -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-2.0/htdocs/manual/handler.html
  
  Index: handler.html
  ===================================================================
  RCS file: /home/cvs/httpd-docs-2.0/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:25:14	1.20
  +++ handler.html	2000/12/02 21:39:02	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.7       +2 -2      httpd-docs-2.0/htdocs/manual/misc/FAQ-F.html
  
  Index: FAQ-F.html
  ===================================================================
  RCS file: /home/cvs/httpd-docs-2.0/htdocs/manual/misc/FAQ-F.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -d -b -u -r1.6 -r1.7
  --- FAQ-F.html	2000/09/15 19:54:16	1.6
  +++ FAQ-F.html	2000/12/02 21:39:03	1.7
  @@ -31,7 +31,7 @@
     <!--#include virtual="header.html" -->
     <H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1>
     <P>
  -  $Revision: 1.6 $ ($Date: 2000/09/15 19:54:16 $)
  +  $Revision: 1.7 $ ($Date: 2000/12/02 21:39:03 $)
     </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>