2012-02-04 140 views
87

我在NGinx服務器上有一個web應用程序。我在conf文件中設置了gzip on,現在我正在嘗試查看它是否有效。 YSlow說這不是,但是在6個測試網站中,有5個是這樣說的。我怎樣才能得到一個明確的答案,爲什麼有結果的差異?如何判斷我的服務器是否提供GZip內容?

回答

151

它看起來像一個可能的答案是,勿庸置疑,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 

在第二種情況下,客戶告訴它支持內容編碼的服務器,你可以看到,響應確實短,壓縮。

+1

這是事實,但gzip的可配置壓縮某些文件類型,並排除他人。因此,請確保使用此測試卷曲的文件屬於將被壓縮的類型。 – 2013-10-24 15:26:29

+0

我建議在'curl'上也使用'-L'標誌來跟蹤所有重定向,例如從非www到'www.',否則size_download的結果可能是錯誤的 – vladkras 2016-11-21 10:12:43

+0

@TlerlerBiscoe你是對的 – Faly 2017-10-12 09:14:35

22

請參看答覆標題。在FireFox中,您可以使用Firebug進行檢查。

Content-Encoding gzip 

如果服務器支持gzip內容,則應顯示此內容。

+5

只有當你的客戶端發送了「Accept-Encoding:gzip,放氣「 – 2012-07-10 14:11:26

+1

硬刷新以查看原始文件的編碼,因爲該文件的狀態爲304,似乎緩存的版本已解壓縮! (在我的情況下,我看到一個ETag頭,而不是內容編碼) – ptim 2014-09-23 08:06:08

58

更新

鉻改變它報告的方式有關(見原來的答覆如果有興趣)。您可以使用開發人員工具(F12)進行分析。轉到網絡選項卡,選擇要檢查的文件,然後查看右側的標題選項卡。如果你被壓縮,你會在Content-Encoding中看到。

在這個例子中,slider.jpg的確被壓縮了。

enter image description here

與此相比,這個非常頁面,你是在和看一個png文件,你會看到沒有這樣的稱號。

enter image description here

只是要清楚,這不是因爲一個是JPG,一個是PNG。這是因爲一個是gzip,另一個不是。


以前的答案

在Chrome中,如果你拉了開發者工具和進入網絡選項卡,然後它會顯示如下如果沒有壓縮:

enter image description here

以下如果有壓縮:

enter image description here

換句話說,相同的數字,頂部和底部,意味着沒有壓縮。

+3

檢查響應頭可能會更好。此方法不會說是否開始使用gzip壓縮或其他壓縮算法。 – Samuel 2014-04-28 20:30:47

+4

在網絡選項卡上的Chrome開發者工具中,點擊請求的資源名稱/鏈接,您可以像這樣查看響應頭,並查看'gzip'獲取內容編碼密鑰 ![屏幕截圖] [1] [1]:http://i.stack.imgur.com/Bpb5W.png(http://content.screencast.com/users/Ryan.Regalado/folders/Jing/media/401debfc-d82e-41de- 8212-1865ffa2a502/00000352.png) – d48 2014-08-04 18:39:04

+1

最近的Chrome版本(版本44.0.2403.130米)似乎沒有顯示大小/內容細節 - 我的意思是gzip細節 - http://i.imgur.com/MTz7DCM.png 。有誰知道原因? – 2015-08-12 08:57:38

0

另一個有用的工具:http://gzipwtf.com

這是唯一的工具,我已經看到了將解析您的網頁,發現所有直接引用的資源(CSS,JS文件等),並告訴你,如果他們每個人都用gzip壓縮,而不是僅僅告訴你索引頁是否被壓縮。

還提供了其它有用的統計數據(時間下載資源,速度等)

-4

無在線工具上面可以測試我的網址這是一個XML文件,然而,這一個沒有工作的權利:

http://www.feedthebot.com/tools/gzip/

gzip test sample

+1

'''壓縮大小:-1''' ??這個工具沒有工作,現在仍然無法工作。 – AlasdairC 2015-10-02 22:32:50

4

我寫的基礎上,zoul的回答這個腳本:

#!/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 

例如:

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

在Chrome中,開發者工具>網絡的新版本,你可以右鍵單擊列名,並選擇編碼內容的選項,並添加列(在圖像黑匣子)。

如果您希望看到gzip內容的大小(比如@Outfast Source),則可以單擊視圖旁邊的圖標(在圖像中顯示爲綠色框)。

所以你可以看到哪些內容是gzip啓用。

enter image description here

相關問題