国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

關于JavaScript的gzip靜態壓縮方法

2019-11-21 02:22:54
字體:
來源:轉載
供稿:網友
一個頁面減少10KB對于一個小網站來說,算不上什么,但對于大型站點來說,累計起來卻是一個很大的流量......gzip壓縮是一個有效可行的方法,但需要Apache的支持(Apache與IIS共用一個端口解決方法)。
  傳統的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 web.xml中的配置 
復制代碼 代碼如下:
<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是否正常的代碼

復制代碼 代碼如下:
<html>   
<head>   
<!-- type="text/javascript"不可少,有些瀏覽器缺少這個不能運行,具體已經忘記了 -->   
<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,未經任何處理直接使用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://www.blogjava.net/Files/badqiu/gziptest.rar
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天等县| 曲水县| 鹿邑县| 湛江市| 四平市| 双峰县| 永定县| 老河口市| 会理县| 仙桃市| 南开区| 沛县| 灵山县| 姚安县| 平乐县| 宁陕县| 高青县| 永寿县| 革吉县| 中江县| 专栏| 荆门市| 曲沃县| 蓬安县| 札达县| 西藏| 叙永县| 修文县| 涟源市| 原阳县| 永川市| 阳春市| 肇庆市| 长宁区| 贵港市| 紫阳县| 体育| 河东区| 神池县| 咸宁市| 定南县|