首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Tomcat7起用gzip压缩

2013-07-01 
Tomcat7启用gzip压缩背景:HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器

Tomcat7启用gzip压缩
背景:HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人。

第一步:修改$tomcat_home$/conf/server.xml

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
修改为
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"   redirectPort="8443"         
     compression="on"
         compressionMinSize="2048"
         noCompressionUserAgents="gozilla, traviata"
         compressableMimeType="text/html,text/xml,text/plain,text/css,
         text/javascript,text/json,application/x-javascript,
         application/javascript,application/json"/>
注意要添加application/javascript,tomcat5用的可能是text/javascript,但tomcat7用的是application/javascript

第二步:用浏览器访问你重新部署的程序,打开开发者工具,进入Network面板,刷新页面,然后选择一个js文件点击,查看 Headers下面的Response Headers,里面会标明Encoding为gzip,那么恭喜你成功了。

以上是服务器自动帮你压缩文件,但如果文件比较大,你希望提前压缩后,到时候服务器自动读取你压缩的gzip文件而不是由服务器来压缩,怎么做呢?
第一步:实现filter类,让filter类来读取你压缩的gzip文件

<!-- read the precompressed gzip js file--><filter><filter-name>gzip</filter-name><filter-class>GzipFilter</filter-class></filter> <filter-mapping><filter-name>gzip</filter-name><url-pattern>*.js</url-pattern></filter-mapping>

第三步:压缩你的js文件,比如a.js为a.js.gzip文件
第四步:用chrome验证是否成功

热点排行