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

NginxCompressionGzip

Nginx Problem Overview


I have a webapp on a NGinx server. I set gzip on in the conf file and now I'm trying to see if it works. YSlow says it's not, but 5 out of 6 websites that do the test say it is. How can I get a definite answer on this and why is there a difference in the results?

Nginx Solutions


Solution 1 - Nginx

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.

Solution 2 - Nginx

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.

Solution 3 - Nginx

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.

Solution 4 - Nginx

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

Solution 5 - Nginx

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.

Solution 6 - Nginx

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/

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJohnnyView Question on Stackoverflow
Solution 1 - NginxzoulView Answer on Stackoverflow
Solution 2 - NginxSoftware ProphetsView Answer on Stackoverflow
Solution 3 - NginxVedView Answer on Stackoverflow
Solution 4 - NginxKrupallView Answer on Stackoverflow
Solution 5 - NginxMichael BalintView Answer on Stackoverflow
Solution 6 - NginxNate SymerView Answer on Stackoverflow