標籤:
一:nginx gzip壓縮提升網站速度
我們觀察news.163.com的頭資訊
請求:
Accept-Encoding:gzip,deflate,sdch
響應:
Content-Encoding:gzip
Content-Length:36093
再把頁面另存下來,觀察,約10W位元組,實際傳輸的36093位元組
原因-------就在於gzip壓縮上.
原理:
瀏覽器---請求----> 聲明可以接受 gzip壓縮 或 deflate壓縮 或compress 或 sdch壓縮
從http協議的角度看--要求標頭 聲明 acceopt-encoding: gzip deflate sdch (是指壓縮演算法,其中sdch是google倡導的一種壓縮方式,目前支援的伺服器尚不多)
伺服器-->回應---把內容用gzip方式壓縮---->發給瀏覽器
瀏覽<-----解碼gzip-----接收gzip壓縮內容----
推算一下節省的頻寬:
假設 news.163.com PV 2億
2*10^8 * 9*10^4 位元組 ==
2*10^8 * 9 * 10^4 * 10^-9 = 12*K*G = 18T
節省的頻寬是非常驚人的
gzip配置的常用參數
gzip on|off; #是否開啟gzip
gzip_buffers 32 4K| 16 8K #緩衝(壓縮在記憶體中緩衝幾塊? 每塊多大?)
gzip_comp_level [1-9] #推薦6 壓縮層級(層級越高,壓的越小,越浪費CPU計算資源)
gzip_disable #正則匹配UA 什麼樣的Uri不進行gzip
gzip_min_length 200 # 開始壓縮的最小長度(再小就不要壓縮了,意義不在)
gzip_http_version 1.0|1.1 # 開始壓縮的http協議版本(可以不設定,目前幾乎全是1.1協議)
gzip_proxied # 佈建要求者Proxy 伺服器,該如何緩衝內容
gzip_types text/plain application/xml # 對哪些類型的檔案用壓縮 如txt,xml,html ,css
gzip_vary on|off # 是否傳輸gzip壓縮標誌
------壓縮gzip配置nginx--------------
在server斷裡配置
server{
gzip on;
gzip_buffers 32 4k ;
gzip_comp_level 6;
gzip_min_length 200;
gizp_type text/css text/xml applocation/x-javascript;
}
---------------------------
注意:
圖片/mp3這樣的二進位檔案,不必壓縮
因為壓縮率比較小, 比如100->80位元組,而且壓縮也是耗費CPU資源的.
比較小的檔案不必壓縮,
13 nginx gzip壓縮提升網站速度