Nginx作為靜態資源web服務_gzip場景演示
Nginx作為靜態資源web服務_gzip場景演示
1、Nginx壓縮模組
(1)http_gzip_module
應用支援gzip壓縮方式
(2)http_gzip_static_module
預讀gzip功能
2、Nginx配置gzip圖片
(1)gzip圖片配置
引數解讀:
gzip on – nginx是否開啟gzip壓縮功能;
gzip_min_length 1000 – nginx限制最小gzip壓縮資源大小;
gzip_proxied – nginx作為反向代理時,允許gzip壓縮請求或響應頭裡欄位;
gzip_types – nginx允許gzip壓縮的靜態資源型別;
gzip_http_version 1.1 – nginx允許gzip壓縮的HTTP請求版本;
gzip_comp_level – nginx允許壓縮的級別,共9個等級,級別越高壓縮率越大;
驗證gzip圖片配置是否生效:
Linux伺服器上的資源為“88KB”:
瀏覽器請求的資源為“74.9KB”
關閉gzip配置:
瀏覽器請求的資源為“80.7KB”
(2)gzip文字配置
引數解讀:
gzip on – nginx是否開啟gzip壓縮功能;
gzip_min_length 1000 – nginx限制最小gzip壓縮資源大小;
gzip_proxied – nginx作為反向代理時,允許gzip壓縮請求或響應頭裡欄位;
gzip_types – nginx允許gzip壓縮的靜態資源型別;
gzip_http_version 1.1 – nginx允許gzip壓縮的HTTP請求版本;
gzip_comp_level – nginx允許壓縮的級別,共9個等級,級別越高壓縮率越大;
驗證gzip文字配置是否生效:
Linux伺服器上的資源為“288KB”:
瀏覽器請求的資源為“8.1KB”:
關閉gzip配置:
瀏覽器請求的資源為“282KB”
(3)gzip_static讀預壓縮檔案配置
引數解讀:
gzip_static on – nginx是否開啟預讀gzip檔案功能;
tcp_nopush on – nginx是否一次性發送整個檔案,提高傳輸效率;
root /opt – nginx指定根目錄;
驗證gzip_static預讀gzip檔案功能配置是否生效:
Linux伺服器上的資源通過gzip壓縮為*.gz格式檔案
Linux伺服器上的壓縮資源大小為4.0KB
瀏覽器請求的jpg資源為“74.8KB”:
瀏覽器請求的txt資源為“3.8KB”
關閉gzip配置:
瀏覽器請求的資源報錯,因為關閉了預讀gzip檔案功能
3、gzip底層演算法詳解
gzip底層壓縮演算法(LZ77和Hufman編碼),對文字壓縮率比對image壓縮率大
gzip壓縮演算法參考:
https://blog.csdn.net/hguisu/article/details/7795435