最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于JavaScript的gzip靜態(tài)壓縮方法

 更新時(shí)間:2007年01月05日 00:00:00   作者:  
一個(gè)頁面減少10KB對(duì)于一個(gè)小網(wǎng)站來說,算不上什么,但對(duì)于大型站點(diǎn)來說,累計(jì)起來卻是一個(gè)很大的流量......gzip壓縮是一個(gè)有效可行的方法,但需要Apache的支持(Apache與IIS共用一個(gè)端口解決方法)。
  傳統(tǒng)的JS壓縮(刪除注釋,刪除多余空格等)提供的壓縮率有時(shí)還是不盡不意,幸虧現(xiàn)在的瀏覽器都支持壓縮傳輸(通過設(shè)置http header的Content-Encoding=gzip),可以通過服務(wù)器的配置(如apache)為你的js提供壓縮傳輸,或是appfuse中使用的GZipFilter使tomcat也提供這種能力
現(xiàn)在的問題是這種動(dòng)態(tài)的壓縮會(huì)導(dǎo)致CPU占用率過高,現(xiàn)在我想到的解決辨法是通過提供靜態(tài)壓縮(就是將js預(yù)先通過gzip.exe壓縮好)

一.下面描述在tomcat中的應(yīng)用

1.將prototype.js通過gzip.exe壓縮保存成prototype.gzjs 2.設(shè)置header,我編寫了一個(gè)簡單的AddHeadersFilter來將所有以gzjs結(jié)尾的文件增加設(shè)置header Content-Encoding=gzip web.xml中的配置 
復(fù)制代碼 代碼如下:
<filter> 
        <filter-name>AddHeaderFilter</filter-name> 
        <filter-class> 
            badqiu.web.filter.AddHeaderFilter 
        </filter-class> 
        <init-param> 
            <param-name>headers</param-name> 
            <param-value>Content-Encoding=gzip</param-value> 
        </init-param> 
    </filter>    <filter-mapping> 
        <filter-name>AddHeaderFilter</filter-name> 
        <url-pattern>*.gzjs</url-pattern> 
    </filter-mapping> 
測試prototype.js是否正常的代碼

復(fù)制代碼 代碼如下:
<html>   
<head>   
<!-- type="text/javascript"不可少,有些瀏覽器缺少這個(gè)不能運(yùn)行,具體已經(jīng)忘記了 -->   
<script src="prototype.gzjs" type="text/javascript"></script>   
</head>   
<body>   
    <input id="username" name="username" value="badqiu"/><br />   
    <input id="email" value="badqiu@gmail.com"/>   
<script>   
    <!-- 測試prototype的方法是否正常-->   
    alert($F('username'))    
</script>   
</body>   
</html> 

在Apache中可以直接通過在httpd.conf增加AddEncoding x-gzip .gzjs來映射.gzjs文件的header

二.壓縮率 

prototype.js 1.5.0_rc0原始大小56KB,未經(jīng)任何處理直接使用gzip壓縮為12KB,總壓縮率79% 
2. 通過js壓縮工具壓縮過的protytype.js為20KB,使用gzip壓縮為10KB,總壓縮率為83%
3. 實(shí)際項(xiàng)目中的多個(gè)js合并成的文件 439KB,直接通過gzip壓縮為85KB,總壓縮率81%

4. 439KB經(jīng)過js壓縮為165KB,再經(jīng)過gzip壓縮為65KB,總壓縮率86%

基本上你都可以忽略js壓縮工具的壓縮率,直接使用gzip壓縮
gzip下載地址 http://www.gzip.org

tomcat的壓縮配置示例下載地址: http://www.blogjava.net/Files/badqiu/gziptest.rar

相關(guān)文章

最新評(píng)論

建瓯市| 麻阳| 福鼎市| 岫岩| 朝阳市| 青冈县| 如东县| 南部县| 青铜峡市| 廉江市| 乐昌市| 扶沟县| 德州市| 将乐县| 襄垣县| 深水埗区| 花莲县| 贵定县| 乐都县| 宁陕县| 绥阳县| 鸡西市| 吴旗县| 岑溪市| 镇赉县| 长阳| 余江县| 杭锦旗| 沙坪坝区| 祁阳县| 南岸区| 如皋市| 巨野县| 新乡县| 阳春市| 腾冲县| 堆龙德庆县| 万安县| 巨鹿县| 会理县| 蚌埠市|