tomcat,nginx,SpringBoot中启动gzip压缩优化网站

GZIP压缩就是对数据进行压缩,使其变得更小,节省硬盘资源,在传输的时候对数据进行格gzip编码为了减少中间过程流量的传输,缩短数据交互的时间,提升用户体验,而我们可以在tomcat,nginx,SpringBoot中启动gzip压缩。

1.Spring Boot 启用Gzip压缩

在application.properties里启用压缩,并设置压缩支持的格式

  1. server.compression.enabled=true
  2. server.compression.min-response-size=2048 #默认仅会压缩2048字节以上的内容
  3. server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain

在application.yml里启用压缩,并设置压缩支持的格式

  1. server:
  2. compression:
  3. enabled: true
  4. min-response-size: 2048
  5. mime-types:
  6. - image/png
  7. - image/jpeg
  8. - image/jpg
  9. - text/html
  10. - application/javascript
  11. - text/css
  12. - application/octet-stream
  13. - application/json

2.tomcat启用Gzip压缩
版本要求:Tomcat5.0以上。 修改%TOMCAT_HOME%/conf/server.xml,修订节点如下:

  1. port="8080"
  2. protocol="HTTP/1.1"
  3. connectionTimeout="20000"
  4. redirectPort="8443"
  5. compression="on"
  6. compressionMinSize="2048"
  7. noCompressionUserAgents="gozilla, traviata"
  8. compressableMimeType="text/html,text/xml,text/javascript,
  9. application/javascript,text/css,text/plain,text/json">

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

2、compressionMinSize=”2048”大于2KB的文件才进行压缩。用于指定压缩的最小数据大小,单位B,默认2048B。

3、noCompressionUserAgents=”gozilla, traviata”,对于这两种浏览器,不进行压缩。

4 compressableMimeType=”text/html,text/xml,application/javascript,text/css,text/plain,text/json”会被压缩的MIME类型列表,多个逗号隔,表明支持html、xml、js、css、json等文件格式的压缩。

3.nginx启用Gzip压缩
Vim打开Nginx配置文件

  1. vim /usr/local/nginx/conf/nginx.conf

找到如下一段,进行修改

  1. gzip on;
  2. gzip_min_length 1k;
  3. gzip_buffers 4 16k;
  4. #gzip_http_version 1.0;
  5. gzip_comp_level 2;
  6. gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
  7. gzip_vary off;
  8. gzip_disable "MSIE [1-6]\.";

参数说明:
第1行:开启Gzip

第2行:不压缩临界值,大于1K的才压缩,一般不用改

第3行:buffer,不用改

第4行:用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1

第5行:压缩级别,1-10,数字越大压缩的越好,时间也越长.

第6行:进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法。

第7行:跟Squid等缓存服务有关,on的话会在Header里增加”Vary: Accept-Encoding”,我不需要这玩意,自己对照情况看着办吧

第8行:IE6对Gzip不怎么友好,不给它Gzip了

本网站的压缩: