1渊跋、開始數(shù)據(jù)壓縮配置的原因
后臺返回前端大量的數(shù)據(jù)腊嗡,如果不進(jìn)行壓縮着倾,將導(dǎo)致網(wǎng)絡(luò)堵塞、占用大量帶寬燕少。
2卡者、開啟Nginx數(shù)據(jù)壓縮達(dá)到的目標(biāo)
減少傳輸?shù)臄?shù)據(jù)量,節(jié)省帶寬客们;從而達(dá)到降低費用崇决。
Nginx數(shù)據(jù)壓縮配置:
在Nginx的nginx.conf文件的http模塊添加如下配置項
#gzip壓縮功能配置
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/css text/xml image/gif image/jpeg image/png application/javascript image/x-ms-bmp application/pdf text/plain application/json application/xhtml+xml;
gzip_vary on;
gzip_disable "MSIE [1-6].";
配置項說明:
gzip : 決定是否開啟gzip模塊
param:on|off
example:gzip on;
gzip_buffers : 設(shè)置gzip申請內(nèi)存的大小,其作用是按塊大小的倍數(shù)申請內(nèi)存空間
param1:int
param2:int(k) 后面單位是k
example: gzip_buffers 4 8k;
gzip_comp_level : 設(shè)置gzip壓縮等級,等級越底壓縮速度越快文件壓縮比越小底挫,反之速度越慢文件壓縮比越大
param:1-9
example:gzip_com_level 6;
gzip_min_length : 當(dāng)返回內(nèi)容大于此值時才會使用gzip進(jìn)行壓縮,以K為單位,當(dāng)值為0時恒傻,所有頁面都進(jìn)行壓縮
param:int
example:gzip_min_length 1000;
gzip_http_version : 用于識別http協(xié)議的版本,早期的瀏覽器不支持gzip壓縮凄敢,用戶會看到亂碼碌冶,所以為了支持前期版本加了此選項,目前此項基本可以忽略
param: 1.0|1.1
example:gzip_http_version 1.0
gzip_types: 設(shè)置需要壓縮的MIME類型,非設(shè)置值不進(jìn)行壓縮
param:text/html|application/x-javascript|text/css|application/xml
example:gzip_types text/html;
gzip_proxied : Nginx做為反向代理的時候啟用,
param:off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any
expample:gzip_proxied no-cache;
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 – 無條件壓縮所有結(jié)果數(shù)據(jù)
gzip_vary : 加上 http 頭信息Vary: Accept-Encoding給后端代理服務(wù)器識別是否啟用 gzip 壓縮栅隐。
param:on|off
expample:gzip_vary on;
gzip_disable : 根據(jù) “User-Agent” 頭來關(guān)閉 Gzip,可用正則表達(dá)式玩徊。
param:regex(正則表達(dá)式)
example:gzip_disable "MSIE [1-6].";
備注:對http/https返回的數(shù)據(jù)都進(jìn)行了明顯的壓縮租悄。