`
aidxn527
  • 浏览: 43364 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类

JavaScript的gzip静态压缩传输方法

    博客分类:
  • JS
阅读更多

       传统的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是否正常的代码

 

 <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中可以直接通过在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://www.blogjava.net/Files/badqiu/gziptest.rar

以上为转载下附gizp使用例子

格式:gizp.exe -9 filename

例如:d:\gizp.exe -9 d:\ajax.js

 

 

本文来自: http://hi.baidu.com/sorc/blog/item/996d02b3d056bca3d9335ad7.html

分享到:
评论

相关推荐

    javascript的gzip静态解压

    JavaScript的GZIP静态解压是Web开发中一个重要的技术话题,特别是在优化网页加载速度和减少网络传输数据量方面。GZIP是一种广泛使用的数据压缩算法,它可以在服务器端对HTML、CSS、JavaScript等文件进行压缩,然后在...

    关于JavaScript的gzip静态压缩方法

    传统的JS压缩(删除注释,删除多余空格等)提供的压缩率有时还是不尽不意,幸亏现在的浏览器都支持压缩传输(通过设置http header的Content-Encoding=gzip),可以通过服务器的配置(如apache)为你的js提供压缩传输,或是...

    gzip 压缩 三种方法

    - **缓存策略**:开启gzip压缩后,应考虑对静态资源设置合适的缓存策略,以减少不必要的压缩计算。 - **文件大小阈值**:对于非常小的文件,压缩可能并不能带来显著的优化,甚至可能因额外的压缩和解压过程而降低...

    IIS启用GZIP压缩js、css无效的原因及解决方法.docx

    在IT开发领域,提高网站性能是至关重要的,其中一种常用的方法是启用服务器的GZIP压缩,以减小网页传输的数据量,加快页面加载速度。本文主要探讨的是在IIS服务器上启用GZIP压缩针对JavaScript(js)和CSS文件无效的...

    Gzip压缩软件(gz文件压缩)

    在开发环境中,gzip也常用于HTTP压缩,服务器可以根据浏览器的支持情况发送gz压缩过的HTML、CSS、JavaScript等静态资源,减少网络传输的数据量,提高页面加载速度。此外,许多版本控制系统如Git也支持对提交的文件...

    js压缩gzip格式

    它可能涵盖了在不同操作系统(如Linux、Windows和macOS)上安装gzip的方法,以及如何使用gzip命令行工具对文件进行压缩和解压缩。此外,它可能还包含了如何在服务器配置文件中启用gzip的示例,帮助开发者更好地理解...

    php gzip压缩输出的实现方法

    在这个配置中,mod_gzip_on指令开启gzip压缩功能,mod_gzip_dechunk指令允许对分块传输编码的数据进行压缩,而mod_gzip_item指令则用来指定哪些文件类型应当被包括或排除在压缩范围之外。上面的示例配置指定了需要...

    页面gzip压缩、加快页面显示

    GZIP压缩可以显著减小HTML、CSS、JavaScript等文本资源的传输体积,因为这些文件通常包含大量可压缩的重复数据。 **GZIP压缩的工作原理:** GZIP是一种广泛使用的数据压缩算法,基于DEFLATE算法,它结合了LZ77(一...

    JavaScript 代码压缩工具

    5. **GZIP压缩**:除了JavaScript代码本身的压缩,服务器端还可以开启GZIP压缩,对发送到客户端的文件进行进一步压缩,这在所有类型的文件上都能有效减小传输数据量。 6. **延迟加载(Lazy Loading)**:对于非首屏...

    nginx-1.18.0已开启gzip压缩优化vue项目大小.zip

    启用gzip压缩后,Nginx会在响应发送到客户端之前对内容进行压缩,这显著降低了网络传输的数据量。在Nginx配置中,可以通过在http、server或location块内添加以下指令来开启gzip压缩: ```nginx gzip on; gzip_types...

    Gzip压缩.docx

    3. 编辑MetaBase.xml配置文件,根据需求调整动态文件和静态文件的压缩设置,如开启动态压缩(设置HcDoDynamicCompression为"TRUE")和静态压缩(设置HcDoStaticCompression和HcDoOnDemandCompression为"TRUE"),并...

    php使用gzip压缩传输js和css文件的方法

    总的来说,通过PHP启用Gzip压缩传输可以显著改善网页加载性能,并减少带宽消耗,尤其适用于传输大量静态资源,如JS和CSS文件。开发者可以参考上述文章中的方法,根据实际情况调整并优化自己的代码。

    WIN2003下IIS6.0环境设置页面Gzip压缩.pdf

    标题提到的"WIN2003下IIS6.0环境设置页面Gzip压缩"是一个关于如何在Windows Server 2003上的Internet Information Services (IIS) 6.0中启用HTTP压缩,特别是使用Gzip算法来减小网页传输大小的技术主题。HTTP压缩是...

    Nginx服务器实现数据静态压缩的方法

    静态压缩通常指对服务器上的静态资源如CSS(层叠样式表)、JavaScript文件等进行压缩,以减小文件大小,从而减少传输时间,加快页面加载速度。本篇知识点将详细介绍如何在Nginx服务器上实现数据静态压缩的方法。 ...

    IIS上启用Gzip压缩(HTTP压缩)

    HTTP压缩是一种在Web服务器和浏览器之间传输压缩文本内容的技术手段,通过采用诸如Gzip这样的通用压缩算法对HTML、JavaScript或CSS等文件进行压缩,能够有效降低数据传输量,加快客户端浏览器的加载速度。...

    Net的Gzip压缩类 compressionmodule ,解决js中文压缩问题

    Gzip(GNU zip)是一种广泛使用的数据压缩算法,它可以在发送数据到客户端之前对其进行压缩,从而减少传输的数据量。在ASP.NET中,`compressionmodule`是一个专门用于实现HTTP压缩的模块,它能够帮助开发者有效地...

    PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)

    ### PHP + .htaccess 实现全站静态 HTML 文件 GZIP 压缩传输详解 #### 一、背景介绍 在互联网应用中,提高网站性能、减少服务器带宽消耗是非常重要的优化方向之一。其中,利用 GZIP 压缩技术来减少数据传输量是一...

    在Apache服务器上启用GZip压缩静态内容的方法

    ### 在Apache服务器上启用GZip压缩静态内容的方法 #### 一、引言 随着互联网的发展,用户对于网页加载速度的要求越来越高。为了提升用户体验并减轻服务器带宽压力,开发者们经常采用压缩技术来减小文件传输量。...

    一键开启Windows IIS GZIP压缩工具

    Windows IIS(Internet ...总的来说,Windows IIS GZIP压缩工具提供了便捷的方法来优化网站性能,通过减少数据传输量,提升用户体验。但同时也需要考虑服务器性能和缓存策略等因素,确保最佳的系统运行状态。

Global site tag (gtag.js) - Google Analytics