From fe39ffb8b90ae4e002ed73fe98617cd590abb467 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 08:33:50 +0200 Subject: Adding upstream version 2.4.56. Signed-off-by: Daniel Baumann --- docs/manual/filter.html.en | 183 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 docs/manual/filter.html.en (limited to 'docs/manual/filter.html.en') diff --git a/docs/manual/filter.html.en b/docs/manual/filter.html.en new file mode 100644 index 0000000..1185e62 --- /dev/null +++ b/docs/manual/filter.html.en @@ -0,0 +1,183 @@ + + + + + +Filters - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

Filters

+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
+ +

This document describes the use of filters in Apache.

+
+ +
top
+
+

Filtering in Apache 2

+ + + +

The Filter Chain is available in Apache 2.0 and higher, +and enables applications to process incoming and outgoing data +in a highly flexible and configurable manner, regardless of +where the data comes from. We can pre-process incoming data, +and post-process outgoing data, at will. This is basically +independent of the traditional request processing phases.

+

+Filters can be chained, in a Data Axis orthogonal to request processing +

+

Some examples of filtering in the standard Apache distribution are:

+ +

Apache also uses a number of filters internally to perform +functions like chunking and byte-range handling.

+ +

A wider range of applications are implemented by third-party filter +modules. A few of these are:

+ +
    +
  • HTML and XML processing and rewriting
  • +
  • XSLT transforms and XIncludes
  • +
  • XML Namespace support
  • +
  • File Upload handling and decoding of HTML Forms
  • +
  • Image processing
  • +
  • Protection of vulnerable applications such as PHP scripts
  • +
  • Text search-and-replace editing
  • +
+
top
+
+

Smart Filtering

+ +

+Smart filtering applies different filter providers according to the state of request processing +

+

mod_filter, included in Apache 2.1 and later, +enables the filter chain to be configured dynamically at run time. +So for example you can set up a proxy to rewrite +HTML with an HTML filter and JPEG images with a completely +separate filter, despite the proxy having no prior information +about what the origin server will send. This works by using a +filter harness, that dispatches to different providers according +to the actual contents at runtime. Any filter may be either +inserted directly in the chain and run unconditionally, or +used as a provider and inserted dynamically. For example,

+
    +
  • an HTML processing filter will only run if the content is +text/html or application/xhtml+xml
  • +
  • A compression filter will only run if the input is a +compressible type and not already compressed
  • +
  • A charset conversion filter will be inserted if a text +document is not already in the desired charset
  • +
+
top
+
+

Exposing Filters as an HTTP Service

+ + +

Filters can be used to process content originating from the client in +addition to processing content originating on the server using the +mod_reflector module.

+ +

mod_reflector accepts POST requests from clients, and reflects +the content request body received within the POST request back in the response, +passing through the output filter stack on the way back to the client.

+ +

This technique can be used as an alternative to a web service running within +an application server stack, where an output filter provides the transformation +required on the request body. For example, the mod_deflate +module might be used to provide a general compression service, or an image +transformation filter might be turned into an image transformation service.

+ +
top
+
+

Using Filters

+ +

There are two ways to use filtering: Simple and Dynamic. +In general, you should use one or the other; mixing them can +have unexpected consequences (although simple Input filtering +can be mixed freely with either simple or dynamic Output filtering).

+

The Simple Way is the only way to configure input filters, and is +sufficient for output filters where you need a static filter chain. +Relevant directives are + SetInputFilter, + SetOutputFilter, + AddInputFilter, + AddOutputFilter, + RemoveInputFilter, and + RemoveOutputFilter.

+ +

The Dynamic Way enables both static and flexible, dynamic configuration +of output filters, as discussed in the mod_filter page. +Relevant directives are + FilterChain, + FilterDeclare, and + FilterProvider.

+ +

One further directive AddOutputFilterByType is still supported, +but deprecated. Use dynamic configuration instead.

+ +
+
+

Available Languages:  en  | + es  | + fr  | + ja  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3