1. 程式人生 > >tomcat啟用GZIP壓縮

tomcat啟用GZIP壓縮

一 、前言

       HTTP壓縮可以大大提高瀏覽網站的速度,它的原理是,在客戶端請求伺服器對應資源後,從伺服器端將資原始檔壓縮,再輸出到客戶端,由客戶端的瀏覽器負責解壓縮並瀏覽。即:通過減小HTTP響應大小來減少響應時間。相對於普通的瀏覽過程HTML ,CSS,Javascript , Text ,它可以節省40%左右的流量。更為重要的是,它可以對動態生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率也很高。而GZIP本身就是一種網路流壓縮演算法,而且應用相當廣泛。

        簡單來說就是使用者訪問網站時,伺服器先把網頁壓縮,再把壓縮後的網頁傳輸到來訪的使用者瀏覽器中,明顯的效果的就是點選訪問網站之後可以快速渲染,但是壓縮的過程會提高伺服器的CPU消耗。

二、修改tomcat檔案

        tomcat版本要求5.0以上,修改%TOMCAT_HOME%/conf/server.xml

<Connector port="80" protocol="HTTP/1.1"
              connectionTimeout="20000"
              redirectPort="8443" />

修改後程式碼

<Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" URIEncoding="utf-8"
    compression="on" compressionMinSize="2048"
    noCompressionUserAgents="gozilla, traviata"
    compressableMimeType="text/html,text/xml,text/javascript,
                              text/css,text/plain"/>

引數說明:

  1、compression="on" 開啟壓縮。可選值:"on"開啟,"off"關閉,"force"任何情況都開啟。

  2、compressionMinSize="2048"大於2KB的檔案才進行壓縮。用於指定壓縮的最小資料大小,單位B,預設2048B。注意此值的大小,如果配置不合理,產生的後果是小檔案壓縮後反而變大了,達不到預想的效果。

  3、noCompressionUserAgents="gozilla, traviata",對於這兩種瀏覽器,不進行壓縮(我也不知道這兩種瀏覽器是啥,百度上沒找到),其值為正則表示式,匹配的UA將不會被壓縮,預設空。

  4、compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain,text/json"會被壓縮的MIME型別列表,多個逗號隔,表明支援html、xml、js、css、json等檔案格式的壓縮(plain為無格式的,但對於具體是什麼,我比較概念模糊)。compressableMimeType很重要,它用來告知tomcat要對哪一種檔案進行壓縮,如果型別指定錯誤了,肯定是無法壓縮的。

三、檢查是否啟用GZIP壓縮

    修改完後重啟tomcat,可以到http://seo.chinaz.com/?host=域名檢測

注意:開啟GZIP壓縮雖然可以提高web響應速度,但是會提高伺服器CPU消耗,看你如果取捨。物理空間換時間

原文地址:https://www.wanpishe.top/article?blogId=2793a51e-3388-4aca-88f8-c37faf48bad0