Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I tell if my server is serving GZipped content?

People also ask

How do I know if an HTTP response is compressed?

Simply right click on a request, then click Header Options , Response Headers , and then select Content-Encoding . Show activity on this post.

How do I enable gzip content-Encoding?

Gzip on Windows Servers (IIS Manager)Open up IIS Manager. Click on the site you want to enable compression for. Click on Compression (under IIS) Now Enable static compression and you are done!

What is gzip content-Encoding?

Gzip is a data compression algorithm capable of compressing and decompressing files quickly. The name also refers to two other technologies: the software used to compress and decompress files, and the format those files are stored in.


It looks like one possible answer is, unsurprisingly, curl:

$ curl http://example.com/ --silent --write-out "%{size_download}\n" --output /dev/null
31032
$ curl http://example.com/ --silent -H "Accept-Encoding: gzip,deflate" --write-out "%{size_download}\n" --output /dev/null
2553

In the second case the client tells the server that it supports content encoding and you can see that the response was indeed shorter, compressed.


Update

Chrome changed the way it reports (see original answer if interested). You can tell using Developer Tools (F12). Go to the Network tab, select the file you want to examine and then look at the Headers tab on the right. If you are gzipped, then you will see that in the Content-Encoding.

In this example, slider.jpg is indeed being gzipped.

enter image description here

Compare that to this very page that you are on and look at a png file, you will see no such designation.

enter image description here

Just to be clear, it isn't because one is a jpg and one is a png. It is because one is gzipped and the other one isn't.


Previous Answer

In Chrome, if you pull up the Developer Tools and go to the Network tab, then it will show the following if there is no compression:

enter image description here

And the following if there IS compression:

enter image description here

In other words, the same number, top and bottom, means no compression.


See in the response headers. In FireFox you may check with Firebug.

Content-Encoding    gzip

If server supports gzip content then this should be displayed.


In new version of chrome, Developer tools > network, you can right click on Column name, and select content-encoding option and add that column (black box in image).

and if you want to see the size of that gzip content, as @Outfast Source - than you can click on icon which is next to View (displayed as Green box in image).

so you can see which content is gzip enabled.

enter image description here


You could quickly use a web service like: http://www.whatsmyip.org/http-compression-test/

Google Chrome's "Audits" tool in the developer tools comes in handy as well.


I wrote this script based on the zoul's answer:

#!/bin/bash

URL=$1
PLAIN="$(curl $URL --silent --write-out "%{size_download}\n" --output /dev/null)"
GZIPPED="$(curl $URL --silent -H "Accept-Encoding: gzip,deflate" --write-out "%{size_download}\n" --output /dev/null)"

if test $PLAIN -gt $GZIPPED
then echo "supported"
else echo "unsupported"
fi

example:

$ ./script.sh https://example.com/