1、開始數據壓縮配置的原因
后臺返回前端大量的數據,如果不進行壓縮,將導致網絡堵塞、占用大量帶寬。
2、開啟Nginx數據壓縮達到的目標
減少傳輸的數據量,節省帶寬;從而達到降低費用。
Nginx數據壓縮配置:
在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 applicationf 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 : 設置gzip申請內存的大小,其作用是按塊大小的倍數申請內存空間
param1:int
param2:int(k) 后面單位是k
example: gzip_buffers 4 8k;
gzip_comp_level : 設置gzip壓縮等級,等級越底壓縮速度越快文件壓縮比越小,反之速度越慢文件壓縮比越大
param:1-9
example:gzip_com_level 6;
gzip_min_length : 當返回內容大于此值時才會使用gzip進行壓縮,以K為單位,當值為0時,所有頁面都進行壓縮
param:int
example:gzip_min_length 1000;
gzip_http_version : 用于識別http協議的版本,早期的瀏覽器不支持gzip壓縮,用戶會看到亂碼,所以為了支持前期版本加了此選項,目前此項基本可以忽略
param: 1.0|1.1
example:gzip_http_version 1.0
gzip_types: 設置需要壓縮的MIME類型,非設置值不進行壓縮
param:textml|application/x-javascript|text/css|application/xml
example:gzip_types textml;
gzip_proxied : Nginx做為反向代理的時候啟用,
param:off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any
expample:gzip_proxied no-cache;
off – 關閉所有的代理結果數據壓縮
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_vary : 加上 http 頭信息Vary: Accept-Encoding給后端代理服務器識別是否啟用 gzip 壓縮。
param:on|off
expample:gzip_vary on;
gzip_disable : 根據 “User-Agent” 頭來關閉 Gzip,可用正則表達式。
param:regex(正則表達式)
example:gzip_disable "MSIE [1-6].";
備注:對http/https返回的數據都進行了明顯的壓縮。
新聞熱點
疑難解答