haproxy/doc
Aurelien DARRAGON cbebdb4ba8 MEDIUM: flt_http_comp: split "compression" filter in 2 distinct filters
Existing "compression" filter is a multi-purpose filter that will try
to compress both requests and responses according to "compression"
settings, such as "compression direction".

One of the pre-requisite work identified to implement decompression
filter is that we needed a way to manually define the sequence of
enabled filters to chain them in the proper order to make
compression and decompression chains work as expected in regard
to the intended use-case.

Due to the current nature of the "compression" filter this was not
possible, because the filter has a combined action as it will try
to compress both requests and responses, and as we are about to
implement "filter-sequence" directive, we will not be able to
change the order of execution of the compression filter between
requests and responses.

A possible solution we identified to solve this issue is to split the
existing "compression" filter into 2 distinct filters, one which is
request-oriented, "comp-req", and another one which is response-oriented
"comp-res". This is what we are doing in this commit. Compression logic
in itself is unchanged, "comp-req" will only aim to compress the request
while "comp-res" will try to compress the response. Both filters will
still be invoked on request and responses hooks, but they only do their
part of the job.

From now on, to compress both requests and responses, both filters have
to be enabled on the proxy. To preserve original behavior, the "compression"
filter is still supported, what it does is that it instantiates both
"comp-req" and "comp-res" filters implicitly, as the compression filter is
now effectively split into 2 separate filters under the hood.

When using "comp-res" and "comp-req" filters explicitly, the use of the
"compression direction" setting is not relevant anymore. Indeed, the
compression direction is assumed as soon as one or both filters are
enabled. Thus "compression direction" is kept as a legacy option in
order to configure the "compression" generic filter.

Documentation was updated.
2026-03-06 13:55:31 +01:00
..
design-thoughts
internals DOC: internals: addd mworker V3 internals 2026-02-04 16:39:44 +01:00
lua-api CLEANUP: assorted typo fixes in the code, commits and doc 2025-07-10 19:49:48 +02:00
51Degrees-device-detection.txt
acl.fig
coding-style.txt DOC: fix typos in the documentation files 2026-01-20 08:15:28 +01:00
configuration.txt MEDIUM: flt_http_comp: split "compression" filter in 2 distinct filters 2026-03-06 13:55:31 +01:00
cookie-options.txt
DeviceAtlas-device-detection.txt
gpl.txt
haproxy.1
HAProxyCommunityEdition_60px.png
haterm.txt MINOR: haterm: add long options for QUIC and TCP "bind" settings 2026-02-20 12:00:34 +01:00
intro.txt DOC: fix typos in the documentation files 2026-01-20 08:15:28 +01:00
lgpl.txt
linux-syn-cookies.txt
lua.txt
management.txt MINOR: cli: implement wait on be-removable 2026-03-02 14:08:30 +01:00
netscaler-client-ip-insertion-protocol.txt
network-namespaces.txt
peers-v2.0.txt
peers.txt
proxy-protocol.txt DOC: proxy-proto: underline the packed attribute for struct pp2_tlv_ssl 2026-02-11 14:46:55 +01:00
queuing.fig
regression-testing.txt DOC: reg-tests: update VTest upstream link in the starting guide 2026-01-26 13:56:13 +01:00
seamless_reload.txt
SOCKS4.protocol.txt
SPOE.txt
WURFL-device-detection.txt