<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    badqiu

    XPer
    隨筆 - 46, 文章 - 3, 評論 - 195, 引用 - 0
    數據加載中……

    關于JavaScript的gzip靜態壓縮方法

    傳統的JS壓縮(刪除注釋,刪除多余空格等)提供的壓縮率有時還是不盡不意,幸虧現在的瀏覽器都支持壓縮傳輸(通過設置http header的Content-Encoding=gzip),可以通過服務器的配置(如apache)為你的js提供壓縮傳輸,或是appfuse中使用的GZipFilter使tomcat也提供這種能力

    現在的問題是這種動態的壓縮會導致CPU占用率過高,現在我想到的解決辨法是通過提供靜態壓縮(就是將js預先通過gzip.exe壓縮好)

    一.下面描述在tomcat中的應用

    1.將prototype.js通過gzip.exe壓縮保存成prototype.gzjs
    2.設置header,我編寫了一個簡單的AddHeadersFilter來將所有以gzjs結尾的文件增加設置header Content-Encoding=gzip

    ?1????web.xml中的配置
    ?2?????<filter>
    ?3?????????<filter-name>AddHeaderFilter</filter-name>
    ?4?????????<filter-class>
    ?5?????????????badqiu.web.filter.AddHeaderFilter
    ?6?????????</filter-class>
    ?7?????????<init-param>
    ?8?????????????<param-name>headers</param-name>
    ?9?????????????<param-value>Content-Encoding=gzip</param-value>
    10?????????</init-param>
    11?????</filter>
    12?
    13?????<filter-mapping>
    14?????????<filter-name>AddHeaderFilter</filter-name>
    15?????????<url-pattern>*.gzjs</url-pattern>
    16?????</filter-mapping>

    測試prototype是否正常的代碼

    ?1?<html>
    ?2?<head>
    ?3?<!--?type="text/javascript"不可少,有些瀏覽器缺少這個不能運行,具體已經忘記了?-->
    ?4?<script?src="prototype.gzjs"?type="text/javascript"></script>
    ?5?</head>
    ?6?<body>
    ?7?????<input?id="username"?name="username"?value="badqiu"/><br?/>
    ?8?????<input?id="email"?value="badqiu@gmail.com"/>
    ?9?<script>
    10?????<!--?測試prototype的方法是否正常-->
    11?????alert($F('username'))
    12?</script>
    13?</body>
    14?</html>


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

    二.相關壓縮率數據
    1. prototype.js 1.5.0_rc0原始大小56KB,未經任何處理直接使用gzip壓縮為12KB,總壓縮率79%
    2. 通過js壓縮工具壓縮過的protytype.js為20KB,使用gzip壓縮為10KB,總壓縮率為83%
    3. 實際項目中的多個js合并成的文件 439KB,直接通過gzip壓縮為85KB,總壓縮率81%
    4. 439KB經過js壓縮為165KB,再經過gzip壓縮為65KB,總壓縮率86%
    基本上你都可以忽略js壓縮工具的壓縮率,直接使用gzip壓縮

    gzip下載地址 http://www.gzip.org
    tomcat的壓縮配置示例下載地址: http://m.tkk7.com/Files/badqiu/gziptest.rar

    posted on 2006-12-04 22:48 badqiu 閱讀(2612) 評論(2)  編輯  收藏 所屬分類: AJAX

    評論

    # re: 關于JavaScript的gzip靜態壓縮方法  回復  更多評論   

    試試這個:
    http://www.xidea.org/webstart/JSA.jnlp


    http://m.tkk7.com/jindw/archive/2007/06/22/125829.html
    2007-08-01 12:30 | 金大為

    # re: 關于JavaScript的gzip靜態壓縮方法  回復  更多評論   

    我在resin服務器里面按照你寫的這樣寫的,可以處理,完全正常。
    但是如果把resin架到IIS下,就處理不了了,如何解決?
    我郵箱pkjcw@sina.com.cn
    2007-08-18 11:36 | Square.pk
    主站蜘蛛池模板: 久久综合AV免费观看| 亚洲一区二区三区免费观看| 国产黄色片在线免费观看| 亚洲午夜精品在线| 嘿嘿嘿视频免费网站在线观看| 亚洲图片一区二区| 免费无码又爽又刺激高潮视频| 亚洲乱亚洲乱淫久久| 精品无码AV无码免费专区| 亚洲资源在线观看| 免费大片黄在线观看yw| 一本色道久久88亚洲精品综合| 大香人蕉免费视频75| 国产99久久亚洲综合精品| 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲国产成人资源在线软件| 最近最新高清免费中文字幕 | 亚洲色偷偷综合亚洲AV伊人蜜桃| 最近最新中文字幕完整版免费高清| 亚洲AV无码之国产精品| 亚洲av日韩av欧v在线天堂| 国产真人无码作爱免费视频| 久久亚洲AV午夜福利精品一区 | 四虎在线播放免费永久视频 | 亚洲A丁香五香天堂网| 成人久久免费网站| 亚洲国产成人久久精品app| 午夜高清免费在线观看| 在线视频网址免费播放| 91亚洲精品第一综合不卡播放| 久久精品网站免费观看| 精品一区二区三区无码免费直播| 亚洲人成在线播放网站| 麻豆视频免费播放| 七次郎成人免费线路视频| 亚洲国产一区在线| 免费一级毛片免费播放| 一级毛片aaaaaa免费看| 国产偷国产偷亚洲高清人| 亚洲AV无一区二区三区久久| 韩国欧洲一级毛片免费|