`
liang100100
  • 浏览: 37378 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Tomcat启用GZIP压缩,提升web性能

 
阅读更多
一、前言
  最近做了个项目,无意总发现了HTTP压缩

  HTTP压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责解压缩并浏览。即:通过减小HTTP响应大小来减少响应时间。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省60%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率也很高。而GZIP本身就是一种网络流压缩算法,而且应用相当广泛。本文是针对apache tomcat 8.0.47进行配置GZIP压缩的。浏览器使用Mozilla Firefox 35.0.1,调试用自带的Firebug,以下和网络有关的截图来自Firebug控制台。
二、Gzip压缩简介
     1. HTTP 协议支持GZIP 压缩机制,也称协议压缩。 HTTP GZIP压缩是由WEB服务器和浏览器共同遵守的协议,也就是说WEB服务器和浏览器都必须遵守。目前主流的服务器和浏览器都支持GZIP压缩技术。包括 IE、FireFox、Opera 等;服务器有 tomcat、Apache 和 IIS 等。

     2. GZIP 主要用来压缩html,css,javascript,等静态文本文件,也支持对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩。

     3. GZIP 压缩的比率通常在3~10 倍之间,这样可以大大节省服务器的网络带宽,大大提升浏览器的浏览速度。

     4. GZIP 是一种数据压缩格式,默认且目前仅使用deflate算法压缩data部分;deflate是一种压缩算法,是huffman编码的一种加强。

     5. 协议压缩就是依据HTTP协议进行压缩,不需要程序员进行压缩,解压编码,而是把压缩过程交给WEB服务器,将解压过程交给客户端。 如果客户端为支持GZIP压缩的浏览器,那么解压过程也不需要程序员参与,浏览器会按照一定的规则自动进行解压缩;如果客户端为HttpClient ,那么就需要手动进行GZIP解码了。

     6. 压缩过程:客户端发送http请求,如果请求头header中携带Accept-Encoding: gzip,deflate (现在的浏览器一般默认都是这样),那么浏览器的意思是:服务器需要进行GZIP压缩,再看响应内容的类型是否满足服务器配置的需要压缩的类型,如果符合,那么WEB服务器在传输响应内容之前,会对响应内容进行压缩,并在响应头中添加Content-Encoding gzip;如果不符合,那么将不压缩,直接返回。

     7. 解压过程:(浏览器)客户端接收到响应,如果响应头中包含Content-Encoding GZIP,那么浏览器会自动将响应内容进行GZIP解压缩,然后再呈现在页面上。如果不包含,那么将直接呈现在页面上。

三、tomcat中配置方法
  版本要求:Tomcat5.0以上。 修改%TOMCAT_HOME%/conf/server.xml,修订节点如下:

复制代码
  <Connector port="8080"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"  

      useSendfile="false" <!--针对8.5以上版本-->

    compression="on"
    compressionMinSize="2048"
    noCompressionUserAgents="gozilla, traviata"  
    compressableMimeType="text/html,text/xml,text/javascript,
  application/javascript,text/css,text/plain,text/json"/>

复制代码
    参数说明:

  1、compression="on" 开启压缩。可选值:"on"开启,"off"关闭,"force"任何情况都开启。

  2、compressionMinSize="2048"大于2KB的文件才进行压缩。用于指定压缩的最小数据大小,单位B,默认2048B。注意此值的大小,如果配置不合理,产生的后果是小文件压缩后反而变大了,达不到预想的效果。

  3、noCompressionUserAgents="gozilla, traviata",对于这两种浏览器,不进行压缩(我也不知道这两种浏览器是啥,百度上没找到),其值为正则表达式,匹配的UA将不会被压缩,默认空。

  4、compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain,text/json"会被压缩的MIME类型列表,多个逗号隔,表明支持html、xml、js、css、json等文件格式的压缩(plain为无格式的,但对于具体是什么,我比较概念模糊)。compressableMimeType很重要,它用来告知tomcat要对哪一种文件进行压缩,如果类型指定错误了,肯定是无法压缩的。那么,如何知道要压缩的文件类型呢?可以通过以下这种方法找到。

  

分享到:
评论

相关推荐

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

    在Tomcat中启用Gzip压缩可以优化Web应用的性能,尤其对于那些包含大量文本内容的网页。 Tomcat设置Gzip压缩涉及到以下几个关键知识点: 1. **Gzip压缩原理**:Gzip通过查找和替换重复的数据序列来减小文件大小。它...

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

    Tomcat服务器的gzip压缩功能是一种优化策略,旨在提高Web应用的性能,减少网络传输的数据量。HTTP压缩主要通过将服务器发送到客户端的资源(如HTML、CSS、JavaScript等)压缩后再传输,从而加快页面加载速度,减少...

    GZIP压缩Tomcat并提升web性能过程图解

    本文将深入探讨如何在Tomcat服务器上启用GZIP压缩以提高Web性能,并提供详细的过程图解。GZIP压缩是一种常见的HTTP协议支持的数据压缩机制,能够显著减少网络传输的数据量,从而加快网页加载速度,降低服务器带宽...

    Tomcat下,使用gzip压缩数据

    在IT行业中,优化Web服务性能是...如果你遇到内外网传输效率低下的问题,启用gzip压缩可能是解决之道。但需要注意,虽然gzip压缩减少了数据传输,但也增加了服务器CPU的使用,因此需要根据实际情况平衡性能与资源消耗。

    tomcat GZIP源码

    通过深入理解这些知识点,并结合Tomcat的GZIP源码,开发者可以定制适合自己项目的GZIP压缩策略,优化服务器性能,同时确保内容的正确显示。对于处理ACTION和JSP这类动态生成的内容,正确的字符集处理和兼容性设计尤...

    tomcat开启gzip

    通过在Tomcat和Apache中启用GZIP压缩,可以显著提高网站的性能。对于文本内容如HTML、CSS和JavaScript文件来说,压缩后可以节省大量的传输带宽,从而提高用户体验。同时,正确配置GZIP压缩也可以帮助减少服务器资源...

    EhCache开启gzip压缩功能

    在EhCache中启用gzip压缩,通常有两种主要方式: 1. **基于Filter的缓存压缩**:一种方式是利用Servlet容器(如Tomcat)的Filter机制。可以创建一个自定义的Filter,该Filter负责在将数据从EhCache返回给客户端之前...

    tomcat,apache,iis的GZIP配置

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

    J2EE gzip压缩

    在Web服务器上启用gzip压缩,可以降低带宽消耗,尤其是在移动网络环境下,这一优势更为明显。 在J2EE环境中,实现gzip压缩通常有以下几种方式: 1. **服务器配置**:大多数现代Web服务器(如Apache Tomcat、Jetty...

    Tomcat性能优化.rar

    3. 保持系统更新,利用Tomcat新版本带来的性能提升。 总结,Tomcat性能优化涉及JVM、Tomcat配置、Web应用、代码质量以及监控等多个层面,需要结合实际业务场景进行综合考虑。只有全面了解并掌握这些优化策略,才能...

    Tomcat与Java.Web开发技术详解

    优化Tomcat包括调整JVM参数、限制并发连接数、开启GZIP压缩等。在安全性方面,应启用SSL加密通信,配置防火墙规则,限制远程管理访问,并定期更新Tomcat以修复安全漏洞。 八、Spring Boot与Tomcat整合 Spring Boot...

    Tomcat与Java.Web开发技术详解_tomcatjava_

    3. 启用GZIP压缩以减少网络传输的数据量。 安全性方面,需关注: 1. 配置SSL/TLS以提供安全的HTTPS连接。 2. 禁用不必要的默认服务和端口,避免攻击面。 3. 定期更新Tomcat以修复安全漏洞。 **总结** Tomcat与...

    如何验证Tomcat Gzip配置是否生效的方法

    在Web服务器的配置优化中,启用Gzip压缩是一项重要的性能提升措施,它能显著减少网页的响应时间,提高用户体验。本文主要介绍在Apache Tomcat服务器上配置和验证Gzip压缩是否生效的方法。 首先需要了解Tomcat中关于...

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

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

    Tomcat 安全配置与性能优化

    Tomcat支持GZIP压缩功能,可以通过在`server.xml`中的`Connector`节点下添加相应的配置来启用压缩。 ```xml ,traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"/&gt; ```...

    windows64位环境tomcat7.0、8.0下载(内含一张tomcat优化代码截图)

    5. 优化Web应用程序:压缩静态资源,减少HTTP请求,启用GZIP压缩,以及使用CDN服务等。 在安装和部署Tomcat时,还需要注意以下几点: 1. 确保Java环境已正确安装并配置,且版本与Tomcat兼容。 2. 配置系统环境变量...

    Tomcat性能调优

    在Tomcat中启用Gzip压缩,可以通过修改`server.xml`中的`Connector`元素来实现。 ```xml port="8080" protocol="HTTP/1.1" acceptCount="100" maxThreads="500" minSpareThreads="25" maxSpareThreads="75" ...

    利用压缩网页来提升网站浏览速度

    通过正确配置服务器,如Apache和Tomcat,启用GZIP或deflate压缩,可以显著减少页面传输数据量,加快用户体验。值得注意的是,虽然压缩会增加服务器CPU负担,但通常这点开销是可接受的,尤其是在提升整体浏览速度方面...

Global site tag (gtag.js) - Google Analytics