一、原理介紹
HTTP 壓縮可以大大提高瀏覽網(wǎng)站的速度刃榨,它的原理是弹砚,在客戶端請(qǐng)求服務(wù)器對(duì)應(yīng)資源后,從服務(wù)器端將資源文件壓縮喇澡,再輸出到客戶端迅栅,由客戶端的瀏覽器負(fù)責(zé)解壓縮并瀏覽。相對(duì)于普通的瀏覽過(guò)程HTML ,CSS,Javascript , Text 晴玖,它可以節(jié)省40%左右的流量读存。更為重要的是为流,它可以對(duì)動(dòng)態(tài)生成的,包括CGI让簿、PHP , JSP , ASP , Servlet,SHTML等輸出的網(wǎng)頁(yè)也能進(jìn)行壓縮敬察,壓縮效率也很高。
二尔当、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" 打開(kāi)壓縮功能
- compressionMinSize="50" 啟用壓縮的輸出內(nèi)容大小莲祸,默認(rèn)為2KB
- noCompressionUserAgents="gozilla, traviata" 對(duì)于以下的瀏覽器,不啟用壓縮
- compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些資源類(lèi)型需要壓縮
重啟 tomcat 即可
三椭迎、測(cè)試
1. 外網(wǎng)環(huán)境
如果你有外網(wǎng)環(huán)境锐帜,可直接借用第三方的工具進(jìn)行檢測(cè):
http://tool.chinaz.com/Gzips/
這里給出的是站長(zhǎng)之家的一個(gè)鏈接,直接在里面輸入網(wǎng)址即可畜号,會(huì)告訴你是否啟用 gzip缴阎,以及壓縮率是多少。
2. 內(nèi)網(wǎng)環(huán)境
上述方法只適用于有外網(wǎng)環(huán)境的機(jī)器測(cè)試简软,如果是內(nèi)網(wǎng)環(huán)境還有個(gè)簡(jiǎn)單的方法可以進(jìn)行判斷:
- 首先打開(kāi)自己的內(nèi)地網(wǎng)址蛮拔。
- 按 f12 打開(kāi)瀏覽器的控制臺(tái)(這里使用的是 webkit 內(nèi)核的瀏覽器),點(diǎn)擊
network
欄痹升,再刷新頁(yè)面建炫,點(diǎn)擊最開(kāi)始的配置中設(shè)置需要 gzip 的文件類(lèi)型中的任意一個(gè),出現(xiàn)下圖中所示兩點(diǎn)即為成功:
但是這個(gè)方法不能檢測(cè)到 gzip 的壓縮率疼蛾。
笨一點(diǎn)的辦法也有肛跌,點(diǎn)擊這個(gè)面板中的Response
,把里面內(nèi)容復(fù)制到一個(gè)文本文件中察郁,保存惋砂,看文件的大小,再相除绳锅。
附上個(gè)人博客的對(duì)應(yīng)博文地址:
http://lancelot_lewis.coding.me/2016/05/17/tomcat/tomcat-gzip/