From: Joshua Slive Date: Sat, 2 Dec 2000 21:39:03 +0000 (+0000) Subject: Consistency enforcement for directives that take extensions and a X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4b63efd50dd729878e06d319fa749d20a9a51148;p=apache Consistency enforcement for directives that take extensions and a reformat of mod_isapi.html into the new standard format. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87157 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/content-negotiation.html b/docs/manual/content-negotiation.html index 7bfaee5afa..d6ffef8e81 100644 --- a/docs/manual/content-negotiation.html +++ b/docs/manual/content-negotiation.html @@ -111,7 +111,7 @@ you must have a handler set in the configuration that defines a file suffix as type-map; this is best done with a
-  AddHandler type-map var
+  AddHandler type-map .var
 
in the server configuration file. See the comments in the sample config diff --git a/docs/manual/content-negotiation.html.en b/docs/manual/content-negotiation.html.en index 7bfaee5afa..d6ffef8e81 100644 --- a/docs/manual/content-negotiation.html.en +++ b/docs/manual/content-negotiation.html.en @@ -111,7 +111,7 @@ you must have a handler set in the configuration that defines a file suffix as type-map; this is best done with a
-  AddHandler type-map var
+  AddHandler type-map .var
 
in the server configuration file. See the comments in the sample config diff --git a/docs/manual/handler.html b/docs/manual/handler.html index 1dbad4256e..357ec0e77e 100644 --- a/docs/manual/handler.html +++ b/docs/manual/handler.html @@ -108,7 +108,7 @@ handlers in the standard distribution are as follows:

      Action add-footer /cgi-bin/footer.pl
-     AddHandler add-footer html
+     AddHandler add-footer .html
 

Then the CGI script is responsible for sending the originally diff --git a/docs/manual/handler.html.en b/docs/manual/handler.html.en index 1dbad4256e..357ec0e77e 100644 --- a/docs/manual/handler.html.en +++ b/docs/manual/handler.html.en @@ -108,7 +108,7 @@ handlers in the standard distribution are as follows:

      Action add-footer /cgi-bin/footer.pl
-     AddHandler add-footer html
+     AddHandler add-footer .html
 

Then the CGI script is responsible for sending the originally diff --git a/docs/manual/misc/FAQ-F.html b/docs/manual/misc/FAQ-F.html index 143fded47d..7acb96e516 100644 --- a/docs/manual/misc/FAQ-F.html +++ b/docs/manual/misc/FAQ-F.html @@ -31,7 +31,7 @@

Apache Server Frequently Asked Questions

- $Revision: 1.6 $ ($Date: 2000/09/15 19:54:16 $) + $Revision: 1.7 $ ($Date: 2000/12/02 21:39:03 $)

The latest version of this FAQ is always available from the main @@ -148,7 +148,7 @@ a line such as

-
AddHandler cgi-script cgi +
AddHandler cgi-script .cgi

diff --git a/docs/manual/mod/mod_isapi.html b/docs/manual/mod/mod_isapi.html index aefeb4d950..2e65758ee0 100644 --- a/docs/manual/mod/mod_isapi.html +++ b/docs/manual/mod/mod_isapi.html @@ -51,6 +51,15 @@ REL="Help" problems running their ISAPI extention. Please do not post such problems to Apache's lists or bug reporting pages.

+

Directives

+ +

Usage

In the server configuration file, use the AddHandler directive to @@ -60,7 +69,7 @@ REL="Help" following line:

-    AddHandler isapi-isa dll
+    AddHandler isapi-isa .dll
 

There is no capability within the Apache server to leave a requested @@ -80,14 +89,101 @@ REL="Help" Programmer's Journal for additional details and clarification of the specific ISAPI support offered by mod_isapi.

-

Directives

- +

Additional Notes

+ +

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 ISAPILogNotSupported Off + exists to quiet this noise.

+ +

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.

+ +

Also, remember that while Apache supports ISAPI Extensions, it + does not support ISAPI Filters. Support for filters may + be added at a later date, but no support is planned at this time.

+ +

Programmer's Journal

+ +

If you are programming Apache 2.0 mod_isapi modules, you must limit your + calls to ServerSupportFunction to the following directives:

+ +
+
HSE_REQ_SEND_URL_REDIRECT_RESP +
Redirect the user to another location.
+ This must be a fully qualified URL (e.g. http://server/location). +
HSE_REQ_SEND_URL +
Redirect the user to another location.
+ This cannot be a fully qualified URL, you are not allowed + to pass the protocol or a server name (e.g. simply /location).
+ This redirection is handled by the server, not the browser.
+ Warning: 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. +
HSE_REQ_SEND_RESPONSE_HEADER +
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. +
HSE_REQ_DONE_WITH_SESSION +
Apache considers this a no-op, since the session will be finished + when the ISAPI returns from processing. +
HSE_REQ_MAP_URL_TO_PATH +
Apache will translate a virtual name to a physical name. +
HSE_APPEND_LOG_PARAMETER +
This logged message may be captured in any of the following logs: +
    +
  • in the \"%{isapi-parameter}n\" component in a CustomLog directive +
  • in the %q log component with the ISAPIAppendLogToQuery On directive +
  • in the error log with the ISAPIAppendLogToErrors On directive +
+ The first option, the %{isapi-parameter}n component, is always available + and prefered. +
HSE_REQ_IS_KEEP_CONN +
Will return the negotiated Keep-Alive status. +
HSE_REQ_SEND_RESPONSE_HEADER_EX +
Will behave as documented, although the fKeepConn flag is ignored. +
HSE_REQ_IS_CONNECTED +
Will report false if the request has been aborted. +
+ +

Apache returns FALSE to any unsupported call to ServerSupportFunction, and + sets the GetLastError value to ERROR_INVALID_PARAMETER.

+ +

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.

+ +

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.

+ +

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.

+ +

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.

+

ISAPIFileCache directive

@@ -274,102 +370,7 @@ REL="Help" Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extentions to the query field (appended to the CustomLog %q component).

-


- -

Additional Notes

- -

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 ISAPILogNotSupported Off - exists to quiet this noise.

- -

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.

- -

Also, remember that while Apache supports ISAPI Extensions, it - does not support ISAPI Filters. Support for filters may - be added at a later date, but no support is planned at this time.

-

Programmer's Journal

- -

If you are programming Apache 2.0 mod_isapi modules, you must limit your - calls to ServerSupportFunction to the following directives:

- -
-
HSE_REQ_SEND_URL_REDIRECT_RESP -
Redirect the user to another location.
- This must be a fully qualified URL (e.g. http://server/location). -
HSE_REQ_SEND_URL -
Redirect the user to another location.
- This cannot be a fully qualified URL, you are not allowed - to pass the protocol or a server name (e.g. simply /location).
- This redirection is handled by the server, not the browser.
- Warning: 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. -
HSE_REQ_SEND_RESPONSE_HEADER -
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. -
HSE_REQ_DONE_WITH_SESSION -
Apache considers this a no-op, since the session will be finished - when the ISAPI returns from processing. -
HSE_REQ_MAP_URL_TO_PATH -
Apache will translate a virtual name to a physical name. -
HSE_APPEND_LOG_PARAMETER -
This logged message may be captured in any of the following logs: -
    -
  • in the \"%{isapi-parameter}n\" component in a CustomLog directive -
  • in the %q log component with the ISAPIAppendLogToQuery On directive -
  • in the error log with the ISAPIAppendLogToErrors On directive -
- The first option, the %{isapi-parameter}n component, is always available - and prefered. -
HSE_REQ_IS_KEEP_CONN -
Will return the negotiated Keep-Alive status. -
HSE_REQ_SEND_RESPONSE_HEADER_EX -
Will behave as documented, although the fKeepConn flag is ignored. -
HSE_REQ_IS_CONNECTED -
Will report false if the request has been aborted. -
- -

Apache returns FALSE to any unsupported call to ServerSupportFunction, and - sets the GetLastError value to ERROR_INVALID_PARAMETER.

- -

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.

- -

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.

- -

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.

- -

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.

diff --git a/docs/manual/mod/mod_mime.html b/docs/manual/mod/mod_mime.html index ef3d31bd6c..2e33f9016d 100644 --- a/docs/manual/mod/mod_mime.html +++ b/docs/manual/mod/mod_mime.html @@ -46,7 +46,7 @@ which determines how the document will be processed within the server. The directives AddCharset, AddEncoding, AddHandler, -A HREF="#SetFilter">SetFilter, AddLanguage +SetFilter, AddLanguage and AddType 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 @@ for content negotiation, where the server returns one from several documents based on the client's charset preference.

+ +

The extension argument is case-insensitive, and can +be specified with or without a leading dot.

+

See also: mod_negotiation

@@ -199,7 +203,9 @@ to any already in force, overriding any mappings that already exist for the same extension. Example: -
AddEncoding x-gzip gz
AddEncoding x-compress Z +
+AddEncoding x-gzip .gz
+AddEncoding x-compress .Z
This will cause filenames containing the .gz extension to be marked as @@ -218,6 +224,9 @@ you should always use x-gzip and x-compress for these two specific encodings. More recent encodings, such as deflate should be specified without the x-. +

The extension argument is case-insensitive, and can +be specified with or without a leading dot.

+

See also: Files with @@ -256,13 +265,16 @@ already exist for the same extension. For example, to activate CGI scripts with the file extension ".cgi", you might use:

-    AddHandler cgi-script cgi
+    AddHandler cgi-script .cgi
 

Once that has been put into your srm.conf or httpd.conf file, any file containing the ".cgi" extension will be treated as a CGI program.

+

The extension argument is case-insensitive, and can +be specified with or without a leading dot.

+

See also: Files with @@ -302,7 +314,7 @@ same extension.

Example:

-AddEncoding x-compress Z
AddLanguage en .en
AddLanguage fr +AddEncoding x-compress .Z
AddLanguage en .en
AddLanguage fr .fr

@@ -329,6 +341,10 @@ case of: documents with the extension ".en" would be treated as being "en-us".

+ +

The extension argument is case-insensitive, and can +be specified with or without a leading dot.

+

See also: Files with multiple extensions @@ -425,13 +441,16 @@ HREF="#typesconfig">TypesConfig directive). Example:

-AddType image/gif GIF +AddType image/gif .gif
It is recommended that new MIME types be added using the AddType directive rather than changing the TypesConfig file.

Note that, unlike the NCSA httpd, this directive cannot be used to set the type of particular files.

+

The extension argument is case-insensitive, and can +be specified with or without a leading dot.

+

See also: Files with @@ -559,6 +578,9 @@ This has the effect of returning .html files in the files, rather than as candidates for parsing (see the mod_include module).

+

The extension argument is case-insensitive, and can +be specified with or without a leading dot.

+

SetHandler directive