原理:
瀏覽器—請求—-> 聲明可以接受 gzip壓縮 或 deflate壓縮 或compress 或 sdch壓縮
從http協(xié)議的角度看–請求頭 聲明 acceopt-encoding: gzip deflate sdch (是指壓縮算法,其中sdch是google倡導(dǎo)的一種壓縮方式,目前支持的服務(wù)器尚不多)
服務(wù)器–>回應(yīng)—把內(nèi)容用gzip方式壓縮—->發(fā)給瀏覽器
瀏覽<—–解碼gzip—–接收gzip壓縮內(nèi)容—-
gzip配置的常用參數(shù)
參數(shù) | 含義 |
---|---|
gzip on/off | 是否開啟gzip |
gzip_buffers 32 4K / 16 8K | 緩沖(壓縮在內(nèi)存中緩沖幾塊? 每塊多大?) |
gzip_comp_level [1-9] | 推薦6 壓縮級別(級別越高,壓的越小,越浪費CPU計算資源) |
gzip_disable | 正則匹配UA 什么樣的Uri不進行g(shù)zip |
gzip_min_length 200 | 開始壓縮的最小長度(再小就不要壓縮了,意義不大) |
gzip_http_version 1.0/1.1 | 開始壓縮的http協(xié)議版本(可以不設(shè)置,目前幾乎全是1.1協(xié)議) |
gzip_proxied | 設(shè)置請求者代理服務(wù)器,該如何緩存內(nèi)容 |
gzip_types text/plain application/xml | 對哪些類型的文件用壓縮 如txt,xml,html ,css 文件類型查看conf/mime.types 文件 |
gzip_vary on/off | 是否傳輸gzip壓縮標志 |
注意:
圖片/mp3這樣的二進制文件,不必壓縮
因為壓縮率比較小, 比如100->80字節(jié),而且壓縮也是耗費CPU資源的.
比較小的文件不必壓縮,
例子:
server {listen 80; #監(jiān)聽端口server_name localohst; #監(jiān)聽域名gzip on; #開啟gizipgzip_buffers 32 4K;#壓縮在內(nèi)存中緩沖32塊 每塊4Kgzip_comp_level 6 ;#壓縮級別 推薦6gzip_min_length 4000;#開始壓縮的最小長度4bitgzip_types text/css text/xml apploation/x-javascript;#只對CSS、XML、JS文件進行壓縮。 默認壓縮text/html 不需要指定,否則報錯location / {root /var/www/a.com; #根目錄定位index index.html;}}
以上所述是小編給大家介紹的Nginx啟用GZIP壓縮網(wǎng)頁傳輸方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答