I'm going to show you how you can get a 10% - 20%
improvement in HTTP compression by moving from gzip
HTTP compression is a capability that can be built into web servers and web clients to improve transfer speed and bandwidth utilization.
When your client sends a request to the server it will include a header saying which compression formats it will accept, for example:
As you can see it says it will accept gzip, deflate or br compression formats.
The server will respond and if available will compress the result in a supported format:
Here you can see it supports gzip.
Brotli is a new open-source compression format from google that improves on the performance of gzip in many cases. We only care about the HTTP compression.
Brotli only works on an https connection. Which is a good thing because we all want to encrypt the web
apt-get install brotli
Setting up on Apache
Apache has supported brotli since version 2.4.26 by way of the mod_brotli
However, I can't find any information on this so we are installing this module by kjdev
Install the Module
git clone --depth=1 --recursive https://github.com/kjdev/apache-mod-brotli.git
install -D .libs/mod_brotli.so /usr/lib/apache2/modules/mod_brotli.so -m 644
echo "LoadModule brotli_module /usr/lib/apache2/modules/mod_brotli.so" > brotli.load
This has added the .load file to the mods available. We need to create an accompanying config file called brotli.conf
Enable the module
service apache2 restart
You should now see in the response header that the page is compressed with brotli (br):
Setting up on Nginx
Google has kindly released an Nginx Brotli module
Download the module
git clone https://github.com/google/ngx_brotli.git
git submodule update --init --recursive
Rebuild Nginx with our new module
You should run nginx -V
to get your config string and add:
cd /opt/nginx-1.13.1/ (or your own path)
./configure YOUR CONFIG STRING --add-module=/usr/local/src/ngx_brotli
Finally, add to your nginx.conf file
In conclusion, the setup for both Apache and Nginx is pretty painless. If the browser does not support brotli it can always fallback to the ever faithful gzip.
You can see current support for brotli here
If you would like to improve the transfer speed and bandwidth utilization of your site then drop us a message
and find out how we can help you.