使用gzip优化web应用(filter实现)

使用gzip优化web应用(filter实现) http://john-kong19.iteye.com/blog/1038941
tomcat如何使用Gzip对静态文件压缩 2 http://panyongzheng.iteye.com/blog/2249815

tomcat如何使用Gzip对静态文件压缩  1 http://www.wuji8.com/meta/568440954.html

配置Apache,Tomcat的gzip压缩功能 http://kangyang.blog.51cto.com/471772/580883
关于JavaScript的gzip静态压缩方法 http://badqiu.iteye.com/blog/37176

相关知识:

gzip是http协议中使用的一种加密算法,客户端向web服务器端发出了请求后,通常情况下服务器端会将页面文件和其他资源,返回到客户端,客户端加载后渲染呈现,这种情况文件一般都比较大,如果开启Gzip ,那么服务器端响应后,会将页面,JS,CSS等文本文件或者其他文件通过高压缩算法将其压缩,然后传输到客户端,由客户端的浏览器负责解压缩与呈现。通常能节省40%以上的流量(一般都有60%左右),一些PHP,JSP文件也能够进行压缩。

实      现:

Tomcat 开启Gzip :

1.找到Tomcat 目录下的conf下的server.xml,并找到如下信息

将它改成如下的形式(其实在上面代码的下面已经有了,将他们打开而已。):

这样,就能够对html和xml进行压缩了,如果要压缩css 和 js,那么需要将

compressableMimeType=”text/html,text/xml”加入css和js:

<Connector port=”8080″ ……… compressableMimeType=”text/html,text/xml,text/css,text/javascript” >
你甚至可以压缩图片:

compressableMimeType=”text/html,text/xml”加入css和js:

<Connector port=”8080″ ……… compressableMimeType=”text/html,text/xml,text/css,text/javascript,image/gif,image/jpg” >
开启后重启Tomcat ,通过浏览器查看headers信息就能看到是否开启(firebug中有),如果开启了,那么transfer-encoding就会是Gzip,否则就是chunked。

在代码级别完成web应用的gzip压缩的开启:
1.Wrapper  用来包装HttpServletResponse 对象

2.过滤器

3.在web.xml中配置 GZipFilter,当我们访问应用中以.do结尾的资源的使用,服务器端就开启http gzip压缩,将压缩后的信息通过http 协议传递给浏览器.
<filter>