nginx之gzip壓縮提高網站速度

目錄:javascript


##爲啥使用gzip壓縮 開啓nginx的gzip壓縮,網頁中的js,css等靜態資源的大小會大大的減小從而節約大量的帶寬,提升傳輸效率,給用戶快的體驗。php

nginx實現gzip

nginx實現資源壓縮的原理是經過默認集成的ngx_http_gzip_module模塊攔截請求,並對須要作gzip的類型作gzip,使用很是簡單直接開啓,設置選項便可。。css

gzip生效後的請求頭和響應頭html

Request Headers:
Accept-Encoding:gzip,deflate,sdch

Response Headers:
Content-Encoding:gzip
Cache-Control:max-age240

gzip的處理過程java

從http協議的角度看,請求頭聲明acceopt-encoding:gzip deflate sdch(是指壓縮算法,其中sdch是google本身家推的一種壓縮方式) 服務器-〉迴應-〉把內容用gzip壓縮-〉發送給瀏覽器-》瀏覽器解碼gzip->接收gzip壓縮內容jquery

gzip的經常使用配置參數

  • gzip on|off  是否開啓gzip
  • gzip_buffers  4k  緩衝(壓縮在內存中緩衝幾塊?每塊多大?)
  • gzip_comp_level [1-9]   推薦6  壓縮級別,級別越高壓縮的最小,同時越浪費cpu資源
  • gzip_disable   正則匹配UA是什麼樣的URi不進行gzip
  • gzip_min_length  200開始壓縮的最小長度,小於這個長度nginx不對其進行壓縮
  • gzip_http_version  1.0|1.1開始壓縮的http協議版本(默認1.1)
  • gzip_proxied  設置請求者代理服務器,該如何緩存內容
  • gzip_types  text/plain  application/xml  對哪些類型的文件用壓縮如txt,xml,html,css
  • gzip_vary  off 是否傳輸gzip壓縮標誌

nginx配置gzip

靜態頁面index.htmlnginx

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>演示nginx作gzip壓縮</title>
    <script src="./jquery.js" ></script>
</head>
<body>
<img src="./nginx_img.jpeg" style="width: 100px;height: 100px;" />
<h1>nginx實現gzip壓縮,減小帶寬的佔用,同時提高網站速度</h1>
<h1>nginx實現gzip壓縮,減小帶寬的佔用,同時提高網站速度</h1>
<h1>nginx實現gzip壓縮,減小帶寬的佔用,同時提高網站速度</h1>
<h1>nginx實現gzip壓縮,減小帶寬的佔用,同時提高網站速度</h1>
<h1>nginx實現gzip壓縮,減小帶寬的佔用,同時提高網站速度</h1>
<h1>nginx實現gzip壓縮,減小帶寬的佔用,同時提高網站速度</h1>
</body>
</html>

nginx的配置算法

server{
        listen 80;
        server_name localhost 192.168.0.96;

        gzip on;
        gzip_buffers 32 4k;
        gzip_comp_level 6;
        gzip_min_length 200;
        gzip_types application/javascript application/x-javascript text/javascript text/xml text/css;
        gzip_vary off;

        root /Users/lidong/Desktop/wwwroot/test;

        index  index.php index.html index.htm;

        access_log /Users/lidong/wwwlogs/access.log;
        error_log /Users/lidong/wwwlogs/error.log;

        location ~ [^/]\.php(/|$) {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }

}

爲使用gzip前的頁面請求:瀏覽器

開啓了gzip頁面的請求:緩存

注意

  • 圖片,mp3通常不須要壓縮,由於壓縮率比較小
  • 通常壓縮text,css,js,xml格式的文件
  • 比較小的文件不須要壓縮,有可能還會比源文件更大
  • 二進制文件不須要壓縮

原文出處:https://www.cnblogs.com/lisqiong/p/11387083.html

相關文章
相關標籤/搜索