HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人
一,对于Tomcat5.0以后的版本是支持对输出内容进行压缩的. 使用的是gzip压缩格式
下面是tomcat5.5.20 中的$tomcat_home$/conf/server.xml的原内容
< Connector port ="80" maxHttpHeaderSize ="8192" maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75" enableLookups ="false" redirectPort ="8443" acceptCount ="100" connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8" /> <!-- Note : To disable connection timeouts, set connectionTimeout value to 0 --> <!-- Note : To use gzip compression you could set the following properties : compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml" -->
从上面的第8行内容可以看出,要使用gzip压缩功能,你可以在Connector实例中加上如下属性即可
1) compression="on" 打开压缩功能
2) compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
3) noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
4) compressableMimeType="text/html,text/xml" 压缩类型
<Connector port="80" maxHttpHeaderSize="8192" 2 maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 3 enableLookups="false" redirectPort="8443" acceptCount="100" 4 connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" 5 compression="on" 6 compressionMinSize="2048" 7 noCompressionUserAgents="gozilla, traviata" 8 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" /> 9 <!-- Note : To disable connection timeouts, set connectionTimeout value 10 to 0 --> 11 12 <!-- Note : To use gzip compression you could set the following properties : 13 14 compression="on" 15 compressionMinSize="2048" 16 noCompressionUserAgents="gozilla, traviata" 17 compressableMimeType="text/html,text/xml" 18 -->
一旦启用了这个压缩功能后,我们怎么来测试压缩是否有效呢?首先Tomcat是根据浏览器请求头中的accept-encoding来判断浏览器是否支持压缩功能,如果这个值包含有gzip,就表明浏览器支持gzip压缩内容的浏览,所以我们可以用httpclient来写一个这样的简单测试程序
package com.liusoft.dlog4j.test; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.GetMethod; /** * HTTP客户端测试类 * @author liudong */ public class HttpTester { /** * @param args */ public static void main(String[] args) throws Exception{ HttpClient http = new HttpClient(); GetMethod get = new GetMethod("http://www.dlog.cn/js/prototype.js"); try{ get.addRequestHeader("accept-encoding", "gzip,deflate"); get.addRequestHeader("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar; Maxthon 2.0)"); int er = http.executeMethod(get); if(er==200){ System.out.println(get.getResponseContentLength()); String html = get.getResponseBodyAsString(); System.out.println(html); System.out.println(html.getBytes().length); } }finally{ get.releaseConnection(); } } }
执行这个测试程序,看看它所输出的是什么内容,如果输出的是一些乱码,以及打印内容的长度远小于实际的长度,那么恭喜你,你的配置生效了,你会发现你网站的浏览速度比以前快多了。
另外你最好对网站所用的javascript和css也进行压缩:)
如果你懒得用上面这个程序测试,好吧,用这个也行:http://gzip.zzbaike.com/
相关推荐
IIS网页启用Gzip压缩,提高网页访问速度,伪静态页面也可压缩,解决Gzip不被百度收录问题
IIS上启用Gzip压缩(HTTP压缩)
NULL 博文链接:https://lzy.iteye.com/blog/450385
IIS启用GZIP压缩js、css无效的原因及解决方法.docx
IIS6.0开启gzip压缩功能,我还有一个7.0的方法。可以查看一下我的资源。
如果发现内容没有被压缩,可以考虑调整compressionMinSize大小,如果请求资源小于这个数值,则不会启用压缩
WebLogic8的GZip压缩过滤器,实现Gzip压缩功能,好不好,自己看吧;)我这里能用,希望对你也有用。哦,这个是我改的啊。嘿嘿。。。
网站加速方法之IIS上启用Gzip压缩
网站加速方法之IIS上启用Gzip压缩.doc
Tomcat系统加固规范V0.2
css文件未成功启用GZip压缩 后来研究发现,IIS启用GZip时默认压缩的只有html网页,如果需要压缩css、js等文件,还需要另外简单配置一个文件。 打开C:\WINDOWS\system32\inetsrv\MetaBase.xml这个文件,然后查找...
heroku-deflater, 在heroku上,但不压缩图像,启用gzip压缩 deflater简单的rack 中间件可以在Heroku上压缩资产和应用程序响应,而不会浪费pointlessly压缩图像和其他二进制响应的CPU周期。它还包括来自 ...
在服务器完成了一些配置以后,还需要做的一件事:启用gzip来压缩返回的数据,从而来加快网站的加载速度。 以下为在Nginx上启用gzip的相关配置(将其添加到配置文件即可): # 开启gzip gzip on; # 启用gzip压缩的...
Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台,本文讲解了如何开启Apache平台上的Gzip压缩功能
经常有人在群里问到,图片到底需不需要启用GZip压缩?我不止一次的回答说,图片是不需要启用GZip压缩的。今天,我把此问题写作成文,给大家分析一下为什么图片不需要启用GZip压缩。 图片启用GZip压缩会适得其反 一些...
主要介绍了Nginx启用压缩及开启gzip 压缩的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联网收集整理, 主要来源于中文wiki. 使用YSlow检测网站启用了哪些优化时, ...
IIS启用GZip压缩,是提高网站速度和减轻服务器负载的一个优化手段和方法,经测试,网站启用GZip压缩后,速度快了3倍!而配置起来也相当的简单,因此被广大网站管理员使用。本文将详细介绍如何在IIS启用GZip压缩,...