tomcat6 tomcat7配置gzip,解決ext-all.js檔案太大問題
做專案用到extjs4.0框架,但是引入的js,css檔案太多而且大,特別是ext-all.js,1.2M,網頁初始化時候非常緩慢而且消耗頻寬,因為用到的伺服器是tomecat,最後研究使用配置tomecat的gzip來對請求檔案進行壓縮,配置步驟如下:
1:找到tomecat的conf下面的server.xml檔案,開啟,找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2:在該標籤裡面新增屬性
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,application/xml,application/javascript,text/css,application/json,image/png,image/gif,image/jpg"
注意:compressableMimeType裡的值就是要求tomecat進行壓縮的檔案,比如application/javascrip指對釋出的js檔案進行壓縮,其他檔案壓縮可以在conf裡的web.xml中找到,如
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
告訴我們如何配置css的壓縮。
也許我們會好奇,ext-all.js不是已經被壓縮過的js了嗎,已經沒有了註釋和空格,為什麼還可以繼續壓縮?比如gzip壓縮,可以修改變數名稱,儘可能的去用最少的字元去定義,這樣也可以大大減少字元數量。
如何檢查壓縮生效呢?比如用firefox的firedebug,截圖如下
壓縮前的請求:
壓縮後:
通過比較我們發現,js檔案和css檔案大小明顯有變化