protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,
application/javascript,text/css,text/plain,text/json"/>
參數說明:
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要對哪一種文件進行壓縮,如果類型指定錯誤了,肯定是無法壓縮的。那么,如何知道要壓縮的文件類型呢?可以通過以下這種方法找到。
四、檢查配置是否成功
修改完之后重啟下tomcat即可,最后去檢測網站:http://seo.chinaz.com/?host=iitshare.com查詢下效果
五、常見錯誤(配置后沒效果)
可通過以下步驟排查:
1、tomcat中的配置參數寫錯位置了。注意配置參數應該寫到下圖中A區而不是B區,就是protocol="HTTP/1.1"那個Connector中。
2、響應數據不是compressableMimeType參數配置的類型。我就遇到了這個坑,我們項目前后端傳輸用的是json。所以我最開始以為是“text/json”,后來打開Firebug的控制臺,原來Content-Type的值是“application/json”。見圖三。
3、響應數據的大小小于compressionMinSize的配置值。
附:優化結果
可以看到 壓縮比率 = 65.6 / 8.4 = 7.810, 時間比率 = 96 / 16.2 = 5.926,已經是很理想了。
看完上述內容,是不是對GZIP壓縮Tomcat并提升web性能的方法有進一步的了解,如果還想學習更多內容,歡迎關注資訊頻道。
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn