`

<转>给Tomcat,Apache配置gzip压缩(HTTP压缩)功能

 
阅读更多
原链接:http://www.blogjava.net/juhongtao/articles/126090.html

背景:
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"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8"
                   compression="on" 
                compressionMinSize="2048" 
                noCompressionUserAgents="gozilla, traviata" 
                compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  />
     <!-- 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"
    -->


二,对于Apache而言,有两种情况
   1)针对Apache2.0之前的版本,它原本是不支持的,不过可以通过添加第三方的module_gzip模块来启用
   2)针对Apache2.0及之后的版本,Apache提供支持, 不过不叫gzip,而叫mod_deflate
下面就对Apache2.0及之后的版本作一个说明
1) 去掉#LoadModule headers_module modules/mod_headers.so前面的注释#,
2) 添加LoadModule deflate_module modules/mod_deflate.so
3) 在VirtualHost中添加
    <Location "/">
        SetOutputFilter DEFLATE
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
    </Location>


我这里面有一个完整的演示
# 加载deflate模块
 LoadModule headers_module modules/mod_headers.so
 LoadModule deflate_module modules/mod_deflate.so
 <VirtualHost *:80>
     DocumentRoot f:/apacheTest
     <Location "/">
         SetOutputFilter DEFLATE
         BrowserMatch ^Mozilla/4 gzip-only-text/html
         BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
    </Location>
</VirtualHost>
分享到:
评论

相关推荐

    开启TOMCAT6的GZIP压缩

    为了提升用户体验并减轻网络带宽的压力,TOMCAT服务器可以通过启用GZIP压缩功能来优化数据传输。GZIP是一种常用的文件格式与数据压缩算法,能够显著减少文件大小,从而提高传输效率。对于使用TOMCAT6作为应用服务器...

    tomcat,apache,iis的GZIP配置

    【GZIP配置详解:Tomcat, Apache, IIS】 GZIP是一种广泛使用的数据压缩...总的来说,无论是在Tomcat、Apache还是IIS服务器上,启用GZIP压缩都是提升Web性能的有效手段,只需要根据各自服务器的配置方式进行适当调整。

    tomcat设置gzip压缩共2页.pdf.zip

    【标题】:“Tomcat设置Gzip压缩”是一个关于在Apache Tomcat服务器上配置Gzip压缩以提高Web应用程序性能的主题。Gzip是一种广泛使用的数据压缩算法,它可以减少HTTP响应的大小,从而加快网页加载速度,降低网络带宽...

    Tomcat 程序中远程部署

    在远程部署过程中,可能需要考虑性能优化,比如开启GZIP压缩减少传输数据量,使用负载均衡器分发请求,或者设置适当的缓存策略以减少不必要的服务器负载。 总之,远程部署在Tomcat中的实现涉及多个步骤,包括配置...

    tomcat开启gzip

    要在Tomcat中启用GZIP压缩,需要编辑`$TOMCAT_HOME/conf/server.xml`文件中的`&lt;Connector&gt;`标签。具体步骤如下: 1. **启用压缩:** 需要在`&lt;Connector&gt;`标签内添加`compression="on"`属性。这会告诉Tomcat对满足...

    Tomcat 安全配置与性能优化

    Tomcat支持GZIP压缩功能,可以通过在`server.xml`中的`Connector`节点下添加相应的配置来启用压缩。 ```xml &lt;Connector ... compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla,...

    apache-tomcat-7.0.109.tar.gz

    所以,"apache-tomcat-7.0.109.tar.gz"是一个经过gzip压缩的Tomcat 7.0.109的归档文件。 解压此文件后,我们将得到"apache-tomcat-7.0.109"目录,其中包含以下核心组件和文件: 1. **bin**:这个目录包含启动和...

    apache-tomcat-8.5配置优化后

    2. **GZIP压缩**:启用`Compression`配置,对响应内容进行GZIP压缩,减小网络传输数据量。 以上就是`apache-tomcat-8.5.5`配置优化后的关键点。正确调整这些设置能显著提升Tomcat的运行效率和服务质量。在实际部署...

    tomcat GZIP源码

    标题 "Tomcat GZIP源码" 指的是Apache Tomcat服务器中用于实现GZIP压缩功能的源代码。GZIP是一种广泛使用的数据压缩算法,它能够有效地减小HTTP响应的大小,从而提高网页加载速度,降低网络带宽的消耗。在Tomcat中,...

    tomcat5.0静态化shtml配置.

    - **开启GZIP压缩**:为了进一步提高传输效率,可以在Tomcat中启用GZIP压缩。在`conf/server.xml`的`Connector`元素中添加`compression="on"`和`compressionMinSize="2048"`属性: ```xml &lt;Connector port="8080...

    apache-tomcat-8.5.72-deployer.tar.gz

    在Linux或Unix系统中,`.tar.gz`是常用的文件打包和压缩格式,它首先使用tar命令将多个文件打包成一个大文件,然后使用gzip工具进行压缩,以减小存储空间。 Apache Tomcat 8.5.x 是Tomcat的稳定版本之一,支持Java ...

    Tomcat配置优化(完整版)

    在`server.xml`文件中找到或添加`&lt;Connector&gt;`标签,并设置以下属性来启用Gzip压缩: ```xml &lt;Connector port="8080" protocol="HTTP/1.1" acceptCount="100" maxThreads="500" minSpareThreads="25" ...

    Tomcat配置方法.rar

    此外,还可以启用压缩、缓存和GZIP压缩等功能。 总结,配置Tomcat涉及到多个方面,从基本的安装启动到深入的性能优化,都需要对Tomcat的配置有深入理解。通过对主要配置文件的修改和理解,可以实现定制化的部署和...

    apache-tomcat-9.0.14

    Apache Tomcat 9.0.14 是一个广泛使用的开源软件,它是一个Java Servlet容器,专为部署Java Web应用程序而设计。Tomcat是Apache软件基金会的Jakarta项目的一部分,是执行JSP、Servlet和Java EE Web应用程序的标准...

    tomcat设置gzip压缩的原理及配置方法

    本文将详细介绍在Apache Tomcat服务器上设置GZIP压缩的原理和配置方法。 首先,让我们探讨一下GZIP压缩的原理。GZIP压缩算法基于deflate算法,是一种文件压缩格式,广泛用于在HTTP协议中进行文件压缩。当服务器对...

    Tomcat总结文档

    在web.xml中,可以定义过滤器,如GZIP压缩过滤器,用于压缩HTTP响应内容,提高传输效率。 ```xml &lt;filter&gt; &lt;filter-name&gt;gzipFilter&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.catalina.filters.GzipFilter&lt;/...

    Tomcat多端口域名访问并配置开启gzip压缩方法

    本文主要讲解了如何在Tomcat中配置多端口域名访问,并且详细介绍了如何开启gzip压缩,以提高Web应用的性能和响应速度。 首先,我们要了解如何在Tomcat中配置不同的端口来访问同一域名。在Web服务器中,端口是用来...

    Tomcat+JSP经典配置实例

    安全方面,Tomcat支持SSL/TLS配置,可以在server.xml的`&lt;Connector&gt;`元素中启用,并提供相关的证书和密钥配置。同时,还可以通过Realm配置实现用户认证,例如使用内存 Realm 或者与数据库集成。 性能优化方面,可以...

    设置tomcat启用gzip压缩的具体操作方法

    启用Tomcat的gzip压缩,需要修改`%TOMCAT_HOME%/conf/server.xml`配置文件中的`&lt;Connector&gt;`节点。具体步骤如下: 1. 打开压缩功能:在`&lt;Connector&gt;`节点中添加`compression="on"`,这表示开启gzip压缩。 2. 设置...

Global site tag (gtag.js) - Google Analytics