I have apache with mod_deflate
enabled. I would like to find out the size of the page with mod_deflate
enabled and without, and compare how much performance is achieved in size. In curl, I seem to ask server for gzipped content using --compressed
and to send the normal, but can't seem to find the size of that page. Any idea how to do that?
curl --head http://site
HTTP/1.1 200 OK Date: Wed, 08 Feb 2012 08:48:04 GMT Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 X-Powered-By: PHP/5.2.12 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=ce39b051a9cd493cbe4a86056e11d61f; path=/ Vary: Accept-Encoding Content-Type: text/html
curl --head --compressed http://site
HTTP/1.1 200 OK Date: Wed, 08 Feb 2012 08:48:19 GMT Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 X-Powered-By: PHP/5.2.12 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=513b8ac5818fd043471c8aac44355898; path=/ Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 20 Content-Type: text/html
curl allows you to ask HTTP and HTTPS servers to provide compressed versions of the data and then perform automatic decompression of it on arrival. In situations where bandwidth is more limited than CPU this will help you receive more data in a shorter amount of time.
In most distributions, PHP Curl is compiled with gzip , deflat , and br (Brotli). However, it is also possible to add support for zstd by compiling libcurl with zstd support, and recompiling PHP with the new libcurl header files.
Curl is a command-line tool for Linux, Windows, and macOS that can be used to post requests to the server. You can post forms, upload files, or make custom requests to API endpoints with Curl. To pass data to Curl, use the -d command line option. -d "data to send"
I think the only reliable way to get the size, is to actually download the file. However, curl offers a very convenient option for only outputting data of interest
-w/--write-out <format> Defines what to display on stdout after a completed and successful operation. [...] size_download The total amount of bytes that were downloaded.
which means you can do something like this:
curl -so /dev/null http://www.whatsmyip.org/http-compression-test/ -w '%{size_download}'
Output:
8437
And to get the compressed size:
curl --compressed -so /dev/null http://www.whatsmyip.org/http-compression-test/ -w '%{size_download}'
Output:
3225
After that your comparison should be trivial.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With