网站启用gzip压缩

gzip压缩启用不启用还是要看实际情况的,启用gzip后可以相应的减轻带宽压力但是同时也会增加cpu的压力(压缩解压),相反的如果不启用那么cpu压力也会相应的减少,具体情况具体分析.

Linux开启gzip很简单

找到tomcat下conf目录

编辑server.xml文件

vim server.xml

找到Service节点下的Connector

新增四个属性

<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"//是否启用压缩
compressionMinSize="2048"
noCompressionUserAgents=""
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
/>

compression="on"//是否启用压缩
compressionMinSize="2048"//只有超过当前设置数值大小的页面才启用压缩(单位是字节B)如果不指定默认大小为2048

------------------------------eg:begin------------------------------

比如我就想看这个index.html页面的压缩效果,这里的158953就可以作为compressionMinSize这里设置的值,接下来实验一下

1).compressionMinSize="158952",理论上页面就会压缩,因为158953超过了158952

实际效果

谷歌浏览器

size上面是最终请求的大小下面是实际大小

火狐浏览器

发现压缩已经生效

2).接下来改成compressionMinSize="158954"

实际效果

谷歌浏览器

火狐浏览器

没有压缩,OK.

3).compressionMinSize="158953"

如果是相等的话也不会压缩,有兴趣的可以去试试

------------------------------eg:end------------------------------

noCompressionUserAgents=""这些浏览器中不启用压缩,值为一个正则表达式(用java.util.regex去匹配)

------------------------------eg:begin------------------------------

因为我手头只有谷歌浏览器跟火狐浏览器,IE我现在已经抛弃了,就拿谷歌来测试一下

字段的意思是"不压缩的user-agent",user-agent 用过谷歌.火狐的开发者工具的人应该都知道在哪看当前一个请求的user-agent

谷歌里

火狐里

接下来准备实验的目的就是在谷歌里不压缩在火狐里压缩

1).首先我需要写个正则匹配一下谷歌浏览器的user-agent

public static void main(String[] args) {

  boolean matches = java.util.regex.Pattern.matches(".*Chrome.*?", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)   Chrome/57.0.2987.133 Safari/537.36");
  System.out.println(matches);

}

输出结果

true

2).设置一下server.xml

compressionMinSize="158951"

noCompressionUserAgents=".*Chrome.*?"

重启服务器看效果

谷歌浏览器

 没有压缩

火狐浏览器

 

还是处于压缩状态中,也OK

------------------------------eg:end------------------------------

compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" 这个就没什么说的了需要压缩的资源类型

 

 

参考文章:https://examples.javacodegeeks.com/enterprise-java/tomcat/enable-gzip-compression-apache-tomcat/ 第七点,这里有些地方比我说的详细

如果对gzip原理感兴趣的也可以去百度谷歌上去搜搜看.

欢迎交流学习,如需转载请注明出处,谢谢.

posted on 2017-04-18 16:34  神赐  阅读(2972)  评论(0编辑  收藏  举报

导航