Commit eb9a6628 authored by Joshua Slive's avatar Joshua Slive
Browse files

Add some VERY basic filter documentation. See followup discussion

on apache-docs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88047 13f79535-47bb-0310-9956-ffa450edef68
parent 9a4d88e9
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Filters - Apache HTTPD</TITLE>
</HEAD>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Filters</H1>

<table border="1">
<tr><td valign="top">
<strong>Related Modules</strong><br><br>

<a href="mod/mod_ext_filter.html">mod_ext_filter</a><br>
<A HREF="mod/mod_include.html">mod_include</A><br>
</td>
<td valign="top">
<strong>Related Directives</strong><br><br>

<a href="mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></br>
<a href="mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a><br>
<a href="mod/core.html#setinputfilter">SetInputFilter</a><br>
<a href="mod/core.html#setoutputfilter">SetOutputFilter</a><br>
</td>
</tr></table>


<p>A <em>filter</em> is a process which is applied to data that is
sent or received by the server.  Data sent by clients to the server
is processed by <em>input filters</em> while data sent by the
server to the client is processed by <em>output filters</em>.
Multiple filters can be applied to the data, and the order
of the filters can be explicitly specified.  In addition,
since filters apply to all content, they allow for flexible
manipulation of data such as processing the output of 
CGI scripts for Server Side Includes.</p>

<p>The set of filters which apply to data can be manipulated
with the <code>SetInputFilter</code> and <code>SetOutputFilter</code>
directives.</p>

<p>The only filter currently included with the Apache distribution
is the <code>INCLUDE</code> filter which is provided by 
<a href="mod/mod_include.html">mod_include</a> to process output
for Server Side Includes.  There is also an experimental module
called <a href="mod/mod_ext_filter.html">mod_ext_filter</a>
which allows for external programs to be defined as filters.</p>


<!--#include virtual="footer.html" -->
</BODY>
</HTML>
+61 −0
Original line number Diff line number Diff line
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Filters - Apache HTTPD</TITLE>
</HEAD>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Filters</H1>

<table border="1">
<tr><td valign="top">
<strong>Related Modules</strong><br><br>

<a href="mod/mod_ext_filter.html">mod_ext_filter</a><br>
<A HREF="mod/mod_include.html">mod_include</A><br>
</td>
<td valign="top">
<strong>Related Directives</strong><br><br>

<a href="mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></br>
<a href="mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a><br>
<a href="mod/core.html#setinputfilter">SetInputFilter</a><br>
<a href="mod/core.html#setoutputfilter">SetOutputFilter</a><br>
</td>
</tr></table>


<p>A <em>filter</em> is a process which is applied to data that is
sent or received by the server.  Data sent by clients to the server
is processed by <em>input filters</em> while data sent by the
server to the client is processed by <em>output filters</em>.
Multiple filters can be applied to the data, and the order
of the filters can be explicitly specified.  In addition,
since filters apply to all content, they allow for flexible
manipulation of data such as processing the output of 
CGI scripts for Server Side Includes.</p>

<p>The set of filters which apply to data can be manipulated
with the <code>SetInputFilter</code> and <code>SetOutputFilter</code>
directives.</p>

<p>The only filter currently included with the Apache distribution
is the <code>INCLUDE</code> filter which is provided by 
<a href="mod/mod_include.html">mod_include</a> to process output
for Server Side Includes.  There is also an experimental module
called <a href="mod/mod_ext_filter.html">mod_ext_filter</a>
which allows for external programs to be defined as filters.</p>


<!--#include virtual="footer.html" -->
</BODY>
</HTML>
+2 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ Modules: <A HREF="mod/index-bytype.html">By Type</A> or
</td></tr><tr><td>
<A HREF="handler.html">Handlers</A>
</td></tr><tr><td>
<A HREF="filter.html">Filters</A>
</td></tr><tr><td>
<A HREF="content-negotiation.html">Content negotiation</A>
</td></tr><tr><td>
<A HREF="env.html">Environment Variables</A>
+2 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ Modules: <A HREF="mod/index-bytype.html">By Type</A> or
</td></tr><tr><td>
<A HREF="handler.html">Handlers</A>
</td></tr><tr><td>
<A HREF="filter.html">Filters</A>
</td></tr><tr><td>
<A HREF="content-negotiation.html">Content negotiation</A>
</td></tr><tr><td>
<A HREF="env.html">Environment Variables</A>
+69 −0
Original line number Diff line number Diff line
@@ -73,6 +73,8 @@ always available.
<LI><A HREF="#serversignature">ServerSignature</A>
<LI><A HREF="#servertokens">ServerTokens</A>
<LI><A HREF="#servertype">ServerType</A>
<LI><A HREF="#setinputfilter">SetInputFilter</A>
<LI><A HREF="#setoutputfilter">SetOutputFilter</A>
<LI><A HREF="#timeout">TimeOut</A>
<LI><A HREF="#usecanonicalname">UseCanonicalName</A>
<LI><A HREF="#virtualhost">&lt;VirtualHost&gt;</A>
@@ -2479,6 +2481,73 @@ subsequent connections. If you intend running Apache to serve a busy site,
standalone will probably be your only option.<P>
<HR>

<H2><A NAME="setinputfilter">SetInputFilter directive</A></H2>
<P><A
 HREF="directive-dict.html#Syntax"
 REL="Help"
><STRONG>Syntax:</STRONG></A> SetInputFilter <EM>filter</EM> 
[<EM>filter</EM>] ...<BR>
<A
 HREF="directive-dict.html#Default"
 REL="Help"
><STRONG>Default:</STRONG></A> none<BR>
<A
 HREF="directive-dict.html#Context"
 REL="Help"
><STRONG>Context:</STRONG></A> directory<BR>
<A
 HREF="directive-dict.html#Status"
 REL="Help"
><STRONG>Status:</STRONG></A> core</P>

<p>The <code>SetInputFilter</code> directive sets the filters
which will process client requests when they are received by the
server.</p>

<p>The order of the arguments determines the order in which the
filters will process the content.</p>

<p>See also the <a href="../filter.html">Filters</a> documentation.</p>


<P><HR>
<H2><A NAME="setoutputfilter">SetOutputFilter directive</A></H2>
<P><A
 HREF="directive-dict.html#Syntax"
 REL="Help"
><STRONG>Syntax:</STRONG></A> SetOutputFilter <EM>filter</EM>
[<EM>filter</EM>] ...<BR>
<A
 HREF="directive-dict.html#Default"
 REL="Help"
><STRONG>Default:</STRONG></A> none<BR>
<A
 HREF="directive-dict.html#Context"
 REL="Help"
><STRONG>Context:</STRONG></A> directory<BR>
<A
 HREF="directive-dict.html#Status"
 REL="Help"
><STRONG>Status:</STRONG></A> core</P>

<P>The <code>SetOutputFilter</code> directive sets the filters which
will process responses from the server before they are sent to the
client.  For example, the following configuration will process
all files in the <code>/www/data/</code> directory for 
server-side includes.</P>

<BLOCKQUOTE><CODE>
&lt;Directory /www/data/&gt;<BR>
&nbsp;&nbsp;SetOutputFilter INCLUDES<BR>
&lt;/Directory&gt;
</CODE></BLOCKQUOTE>

<p>The order of the arguments determines the order in which the
filters will process the content.</p>

<p>See also the <a href="../filter.html">Filters</a> documentation.</p>

<P><HR>
<H2><A NAME="timeout">TimeOut directive</A></H2>
<!--%plaintext &lt;?INDEX {\tt TimeOut} directive&gt; -->
<A
Loading