如何使用curl来比较启用了deflate的页面大小,而不使用它

时间:2012-02-08 08:57:21

标签: curl size gzip

我启用了mod_deflate的apache。我想知道启用了mod_deflate的页面大小,并且没有,并比较大小达到了多少性能。在卷曲中,我似乎要求服务器使用--compressed进行gzip压缩内容并发送正常,但似乎无法找到该页面的大小。知道怎么做吗?

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

1 个答案:

答案 0 :(得分:63)

我认为获得大小的唯一可靠方法是实际下载文件。但是,curl提供了一个非常方便的选项,仅用于输出感兴趣的数据

-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.

这意味着你可以这样做:

curl -so /dev/null http://www.whatsmyip.org/http-compression-test/ -w '%{size_download}'

输出:

8437

获得压缩大小:

curl --compressed -so /dev/null http://www.whatsmyip.org/http-compression-test/ -w '%{size_download}'

输出:

3225

之后,您的比较应该是微不足道的。