在之前项目当中,遇到一个问题就是后端传输到web端时数据量较大,传输速度非常慢,导致页面很长时间才刷新出来,于是从网上寻找到了解决办法,很好的解决了问题。
原文地址:https://www.cnblogs.com/DDgougou/p/8675504.html
解决方案主要是使用Tomcat支持的gzip压缩协议,利用压缩功能,将请求到的数据进行压缩,然后在传输到web端,目前主流的浏览器均支持gzip的解压。
1、在Tomcat中的setting.xml文件中的标签中加上如下配置
注意,看清protocol对应的值。
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,application/javascript,text/css,text/plain,text/json,application/octet-stream"
其中compression代表开启服务,compressionMinSize表示大于这个数值的数据进行压缩,compressableMimeType表示对那些类型的数据进行压缩,这个尤为重要,一定要看清自己需要压缩的数据是那种类型的。
2、这是直接配置Tomcat,使用比较方便,但是如果项目使用的是jar包的运行方式,那么配置上面这种方式就不太使用了,如果使用的是jar包运行项目,因为jar运行使用的是内置的Tomcat进行运行的,因此我们可以在项目中的application.properties文件中进行配置
#使用jar包运行项目,配置内置tomcat,开启gzip压缩协议
#是否开启压缩,默认为false
server.compression.enabled=true
#执行压缩的阈值,默认为2048
server.compression.min-response-size=2048
#指定压缩的MIME TYPE,多个以逗号分隔
server.compression.mime-types=application/json,application/octet-stream,application/xml,text/html,text/xml,text/plain