httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Evgeny Kotkov <evgeny.kot...@visualsvn.com>
Subject [PATCH] Introducing mod_brotli
Date Fri, 16 Sep 2016 12:32:43 GMT
Hi all,

This patch adds a module for dynamic Brotli (RFC 7932) compression in httpd.

The new compression format is supported by Mozilla Firefox since 44.0 and
by Google Chrome since 50.0 [1, 2], and both nginx and IIS have modules that
offer Brotli compression.

With the new module, existing mod_deflate installations can benefit from
better compression ratio by sending Brotli-compressed data to the clients
that support it:

    LoadModule brotli_module modules/mod_brotli.so
    LoadModule deflate_module modules/mod_deflate.so
    SetOutputFilter BROTLI_COMPRESS;DEFLATE

This module features zero-copy processing, which is only possible with the
new API from the upcoming 1.0.x series of brotli [3].

The Linux makefile works against libbrotli [4], as currently the core brotli
repository doesn't offer a way to build a library [5].  Enabling mod_brotli
can be done with:

    configure --enable-brotli=shared [--with-brotli=]

CMake build is supported as well.  Please note that the patch doesn't include
the documentation updates and other types of makefiles, but I will do it
separately.

The second patch adds a couple of tests to the test framework.

[1] https://www.mozilla.org/en-US/firefox/44.0/releasenotes/
[2] https://www.chromestatus.com/feature/5420797577396224
[3] https://github.com/google/brotli
[4] https://github.com/bagder/libbrotli
[5] https://github.com/google/brotli/pull/332


Regards,
Evgeny Kotkov

Mime
View raw message