1. 程式人生 > >tomcat6 tomcat7配置gzip,解決ext-all.js檔案太大問題

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檔案大小明顯有變化