一、原理介紹
HTTP 壓縮可以大大提高瀏覽網(wǎng)站的速度,它的原理是,在客戶端請求服務器對應資源后,從服務器端將資源文件壓縮,再輸出到客戶端,由客戶端的瀏覽器負責解壓縮并瀏覽。相對于普通的瀏覽過程HTML ,CSS,Javascript , Text ,它可以節(jié)省40%左右的流量。更為重要的是,它可以對動態(tài)生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網(wǎng)頁也能進行壓縮,壓縮效率也很高。
二、Tomcat 配置
找到 tomcat server.xml文件里的
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true"
URIEncoding="UTF-8"
/>
改為:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript,text/css,text/plain"
/>
- compression="on" 打開壓縮功能
- compressionMinSize="50" 啟用壓縮的輸出內(nèi)容大小,默認為2KB
- noCompressionUserAgents="gozilla, traviata" 對于以下的瀏覽器,不啟用壓縮
- compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些資源類型需要壓縮
重啟 tomcat 即可
三、測試
1. 外網(wǎng)環(huán)境
如果你有外網(wǎng)環(huán)境,可直接借用第三方的工具進行檢測:
http://tool.chinaz.com/Gzips/
這里給出的是站長之家的一個鏈接,直接在里面輸入網(wǎng)址即可,會告訴你是否啟用 gzip,以及壓縮率是多少。
2. 內(nèi)網(wǎng)環(huán)境
上述方法只適用于有外網(wǎng)環(huán)境的機器測試,如果是內(nèi)網(wǎng)環(huán)境還有個簡單的方法可以進行判斷:
- 首先打開自己的內(nèi)地網(wǎng)址。
- 按 f12 打開瀏覽器的控制臺(這里使用的是 webkit 內(nèi)核的瀏覽器),點擊
network欄,再刷新頁面,點擊最開始的配置中設置需要 gzip 的文件類型中的任意一個,出現(xiàn)下圖中所示兩點即為成功:

gzip
但是這個方法不能檢測到 gzip 的壓縮率。
笨一點的辦法也有,點擊這個面板中的Response,把里面內(nèi)容復制到一個文本文件中,保存,看文件的大小,再相除。
附上個人博客的對應博文地址:
http://lancelot_lewis.coding.me/2016/05/17/tomcat/tomcat-gzip/