~ubuntu-branches/ubuntu/feisty/apache2/feisty

« back to all changes in this revision

Viewing changes to docs/manual/filter.html.en

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Barth
  • Date: 2006-12-09 21:05:45 UTC
  • mfrom: (0.6.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061209210545-h70s0xaqc2v8vqr2
Tags: 2.2.3-3.2
* Non-maintainer upload.
* 043_ajp_connection_reuse: Patch from upstream Bugzilla, fixing a critical
  issue with regard to connection reuse in mod_proxy_ajp.
  Closes: #396265

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="ISO-8859-1"?>
 
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
3
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
 
4
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
5
              This file is generated from xml source: DO NOT EDIT
 
6
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
7
      -->
 
8
<title>Filters - Apache HTTP Server</title>
 
9
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
 
10
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
 
11
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
 
12
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
 
13
<body id="manual-page"><div id="page-header">
 
14
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p>
 
15
<p class="apache">Apache HTTP Server Version 2.2</p>
 
16
<img alt="" src="./images/feather.gif" /></div>
 
17
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
 
18
<div id="path">
 
19
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>Filters</h1>
 
20
<div class="toplang">
 
21
<p><span>Available Languages: </span><a href="./en/filter.html" title="English">&nbsp;en&nbsp;</a> |
 
22
<a href="./es/filter.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&nbsp;</a> |
 
23
<a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
 
24
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 
25
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 
26
</div>
 
27
 
 
28
    <p>This document describes the use of filters in Apache.</p>
 
29
  </div>
 
30
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#intro">Filtering in Apache 2</a></li>
 
31
<li><img alt="" src="./images/down.gif" /> <a href="#smart">Smart Filtering</a></li>
 
32
<li><img alt="" src="./images/down.gif" /> <a href="#using">Using Filters</a></li>
 
33
</ul></div>
 
34
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 
35
<div class="section">
 
36
<h2><a name="intro" id="intro">Filtering in Apache 2</a></h2>
 
37
    
 
38
    <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></code></li><li><code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code></li><li><code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code></li></ul></td></tr></table>
 
39
 
 
40
<p>The Filter Chain is available in Apache 2.0 and higher,
 
41
and enables applications to process incoming and outgoing data
 
42
in a highly flexible and configurable manner, regardless of
 
43
where the data comes from.  We can pre-process incoming data,
 
44
and post-process outgoing data, at will.  This is basically
 
45
independent of the traditional request processing phases.</p>
 
46
<p class="figure">
 
47
<img src="images/filter_arch.png" width="569" height="392" alt="Filters can be chained, in a Data Axis orthogonal to request processing" />
 
48
</p>
 
49
<p>Some examples of filtering in the standard Apache distribution are:</p>
 
50
<ul>
 
51
<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, implements server-side includes.</li>
 
52
<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, implements SSL encryption (https).</li>
 
53
<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code>, implements compression/decompression on the fly.</li>
 
54
<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>, transcodes between different character sets.</li>
 
55
<li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>, runs an external program as a filter.</li>
 
56
</ul>
 
57
<p>Apache also uses a number of filters internally to perform
 
58
functions like chunking and byte-range handling.</p>
 
59
 
 
60
<p>A wider range of applications are implemented by third-party filter
 
61
modules available from <a href="http://modules.apache.org/">modules.apache.org</a> and
 
62
elsewhere.  A few of these are:</p>
 
63
 
 
64
<ul>
 
65
<li>HTML and XML processing and rewriting</li>
 
66
<li>XSLT transforms and XIncludes</li>
 
67
<li>XML Namespace support</li>
 
68
<li>File Upload handling and decoding of HTML Forms</li>
 
69
<li>Image processing</li>
 
70
<li>Protection of vulnerable applications such as PHP scripts</li>
 
71
<li>Text search-and-replace editing</li>
 
72
</ul>
 
73
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 
74
<div class="section">
 
75
<h2><a name="smart" id="smart">Smart Filtering</a></h2>
 
76
 
 
77
<p class="figure">
 
78
<img src="images/mod_filter_new.png" width="423" height="331" alt="Smart filtering applies different filter providers according to the state of request processing" />
 
79
</p>
 
80
<p><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, included in Apache 2.1 and later,
 
81
enables the filter chain to be configured dynamically at run time.
 
82
So for example you can set up a proxy to rewrite
 
83
HTML with an HTML filter and JPEG images with a completely
 
84
separate filter, despite the proxy having no prior information
 
85
about what the origin server will send.  This works by using a
 
86
filter harness, that dispatches to different providers according
 
87
to the actual contents at runtime.  Any filter may be either
 
88
inserted directly in the chain and run unconditionally, or
 
89
used as a provider and inserted dynamically.  For example,</p>
 
90
<ul>
 
91
<li>an HTML processing filter will only run if the content is
 
92
text/html or application/xhtml+xml</li>
 
93
<li>A compression filter will only run if the input is a
 
94
compressible type and not already compressed</li>
 
95
<li>A charset conversion filter will be inserted if a text
 
96
document is not already in the desired charset</li>
 
97
</ul>
 
98
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
 
99
<div class="section">
 
100
<h2><a name="using" id="using">Using Filters</a></h2>
 
101
 
 
102
<p>There are two ways to use filtering: Simple and Dynamic.
 
103
In general, you should use one or the other; mixing them can
 
104
have unexpected consequences (although simple Input filtering
 
105
can be mixed freely with either simple or dynamic Output filtering).</p>
 
106
<p>The Simple Way is the only way to configure input filters, and is
 
107
sufficient for output filters where you need a static filter chain.
 
108
Relevant directives are
 
109
    <code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code>,
 
110
    <code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code>,
 
111
    <code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>,
 
112
    <code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>,
 
113
    <code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code>, and
 
114
    <code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code>.</p>
 
115
 
 
116
<p>The Dynamic Way enables both static and flexible, dynamic configuration
 
117
of output filters, as discussed in the <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> page.
 
118
Relevant directives are
 
119
    <code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code>,
 
120
    <code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code>, and
 
121
    <code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code>.</p>
 
122
 
 
123
<p>One further directive <code class="directive"><a href="./mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code> is still supported,
 
124
but may be problematic and is now deprecated.  Use dynamic
 
125
configuration instead.</p>
 
126
 
 
127
  </div></div>
 
128
<div class="bottomlang">
 
129
<p><span>Available Languages: </span><a href="./en/filter.html" title="English">&nbsp;en&nbsp;</a> |
 
130
<a href="./es/filter.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&nbsp;</a> |
 
131
<a href="./fr/filter.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
 
132
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 
133
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
 
134
</div><div id="footer">
 
135
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
 
136
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
 
137
</body></html>
 
 
b'\\ No newline at end of file'