HTTP GZIP压缩作为HTTP/1.1协议的一个建议,旨在让服务器在向客户端发送响应的时候,压缩响应的内容,从而节约带宽,提高网络的传输特性。
在主流的服务器中,都加入了对HTTP压缩的支持,在JBoss中,打开${JBOSS.HOME}\server\default\deploy
\jbossweb.sar\server.xml,在Connector节点中增加compression="on"即可使得JBoss支持HTTP压
缩。
Xml代码
-
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
-
connectionTimeout="20000" minThreds="6" compression="on" redirectPort="8443" />
下面以一个简单的例子来说明HTTP压缩对于系统性能的影响,首先JBoss服务器启用HTTP压缩,启动JBoss应用服务器,访问
,通过Firebug可以看到访问此页面时,服务器返回的数据大小以及响应时间:
可以看到,服务器端返回的数据大小为30.3KB,总共耗时442ms,现在关闭JBoss的HTTP压缩,重新访问jmx-console,服务器的响应如下图所示:
服务器端返回的数据大小为252.3kB,总计耗时824ms。
对比两次的测试,可以看出两次响应产生的网络流量差距是非常大的,压缩比达到了88%,但是响应时间却增加了46%,这主要是因为在服务器端压缩数据,在客户端解压数据产生的时间消耗。
通常在配置HTTP压缩时一些比较好的做法是:
-
压缩文本文件,例如html, css, js文件,不要压缩多媒体文件例如图片,flash,音频文件;
阅读(1497) | 评论(0) | 转发(0) |