Estimate compression level

#1 / 1 rate

Estimate compression level

96 users

2022-03-17

Leon Brocard

Extension Information

5 star
0%
4 star
0%
3 star
0%
2 star
0%
1 star
100%

Supported Languages

Permissions

Hot Permissions

Description

A Chrome browser extension that estimates the HTTP compression level of the page.

Background

Compression is a core feature of HTTP that improves transfer speed, cache bandwidth utilization and cache utilization.

Lossless data compression algorithms development led to the LZW algorithm (1984), used by the compress application (1985), and then the PKZIP application (1991) with its DEFLATE algorithm which was then used in the gzip format (1992). The zlib library (1995) became a de facto standard compression library for gzip data.

HTTP/1.1 in 1999 (RFC 2616) added support for gzip, compress and deflate compression as content encodings. gzip compression quickly became the default as it compressed better than compress, which used the patented LZW algorithm, and as Microsoft incorrectly implemented deflate as a broken raw deflate stream instead of the correct deflate stream inside a zlib format wrapper.

Compression algorithms generally define a file format and how to decompress it. This allows the user to pick an appropriate compression level: either fast compression, which compresses quickly, but doesn't compress very small or instead best compression, which compresses slowly but generates a smaller output.

With gzip and zlib these levels range from 1 (fast) to 9 (best), with a default of 6.

When you browse to a page with this extension and the content is compressed with gzip, a little badge is shown with the estimated compression level.

If the compression was achieved with a gzip compressor other than zlib, a fractional estimate of zlib compression level is shown.

How does it work?

The chrome extension notes the Content-Length of the page as it is loaded, then fetches the page again, tries to compress it with a variety of levels and then displays the result.

This uses more network and CPU. Use sparingly.

TODO

Some websites use the newer Brotli compression algorithm instead of gzip. This extension does not support Brotli yet.