HttpGzip模塊
這個模塊支持在線實時壓縮輸出數(shù)據(jù)流
使用范例
gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/x-javascript text/css application/xml application/javascript application/json;
內(nèi)置變量 $gzip_ratio
可以獲取到gzip的壓縮比率
指令
- [#gzip gzip]
- [#gzip_buffers gzip_buffers]
- [#gzip_comp_level gzip_comp_level]
- [#gzip_min_length gzip_min_length]
- [#gzip_http_version gzip_http_version]
- [#gzip_proxied gzip_proxied]
- [#gzip_types gzip_types]
gzip
語法: gzip on|off
默認(rèn)值: gzip off
作用域: http, server, location, if (x) location
開啟或者關(guān)閉gzip模塊
gzip_buffers
語法: gzip_buffers number size
默認(rèn)值: gzip_buffers 4 4k/8k
作用域: http, server, location
設(shè)置系統(tǒng)獲取幾個單位的緩存用于存儲gzip的壓縮結(jié)果數(shù)據(jù)流种远。 例如:
- 4 4k 代表以4k為單位,按照原始數(shù)據(jù)大小以4k為單位的4倍申請內(nèi)存。
- 4 8k 代表以8k為單位峰弹,按照原始數(shù)據(jù)大小以8k為單位的4倍申請內(nèi)存映挂。
如果沒有設(shè)置臭墨,默認(rèn)值是申請跟原始數(shù)據(jù)相同大小的內(nèi)存空間去存儲gzip壓縮結(jié)果赘来。
gzip_comp_level
語法: gzip_comp_level 1..9
默認(rèn)值: gzip_comp_level 1
作用域: http, server, location
gzip壓縮比旭贬,1 壓縮比最小處理速度最快瘩将,9 壓縮比最大但處理最慢(傳輸快但比較消耗cpu)吟税。
gzip_min_length
語法: gzip_min_length length
默認(rèn)值: gzip_min_length 0
作用域: http, server, location
設(shè)置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭中的Content-Length中進(jìn)行獲取姿现。
默認(rèn)值是0肠仪,不管頁面多大都壓縮。
建議設(shè)置成大于1k的字節(jié)數(shù)备典,小于1k可能會越壓越大异旧。 即: gzip_min_length 1024
gzip_http_version
語法: gzip_http_version 1.0|1.1
默認(rèn)值: gzip_http_version 1.1
作用域: http, server, location
識別http的協(xié)議版本。由于早期的一些瀏覽器或者h(yuǎn)ttp客戶端提佣,可能不支持gzip自解壓吮蛹,用戶就會看到亂碼,所以做一些判斷還是有必要的拌屏。 注:21世紀(jì)都來了潮针,現(xiàn)在除了類似于百度的蜘蛛之類的東西不支持自解壓,99.99%的瀏覽器基本上都支持gzip解壓了倚喂,所以可以不用設(shè)這個值,保持系統(tǒng)默認(rèn)即可每篷。
gzip_proxied
語法: gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...
默認(rèn)值: gzip_proxied off
作用域: http, server, location
Nginx作為反向代理的時候啟用,開啟或者關(guān)閉后端服務(wù)器返回的結(jié)果端圈,匹配的前提是后端服務(wù)器必須要返回包含"Via"的 header頭焦读。
- off - 關(guān)閉所有的代理結(jié)果數(shù)據(jù)的壓縮
- expired - 啟用壓縮,如果header頭中包含 "Expires" 頭信息
- no-cache - 啟用壓縮舱权,如果header頭中包含 "Cache-Control:no-cache" 頭信息
- no-store - 啟用壓縮矗晃,如果header頭中包含 "Cache-Control:no-store" 頭信息
- private - 啟用壓縮,如果header頭中包含 "Cache-Control:private" 頭信息
- no_last_modified - 啟用壓縮,如果header頭中不包含 "Last-Modified" 頭信息
- no_etag - 啟用壓縮 ,如果header頭中不包含 "ETag" 頭信息
- auth - 啟用壓縮 , 如果header頭中包含 "Authorization" 頭信息
- any - 無條件啟用壓縮
gzip_types
語法: gzip_types mime-type [mime-type ...]
默認(rèn)值: gzip_types text/html
作用域: http, server, location
匹配MIME類型進(jìn)行壓縮宴倍,(無論是否指定)"text/html"類型總是會被壓縮的张症。
注意:如果作為http server來使用,主配置文件中要包含文件類型配置文件
http
{
include conf/mime.types;
......
}
如果你希望壓縮常規(guī)的文件類型啊楚,可以寫成這個樣子
http
{
include conf/mime.types;
gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css application/xml application/javascript application/json;
......
}