百度搜索了Tomcat使用gzip的文章,都是大同小异的,下面是server.xml配置项,可是当我配置后,重启了Tomcat,却没有生效;
<Connector port="8081" protocol="org.apache.coyote.http11.Http11AprProtocol" connectionTimeout="20000" redirectPort="8444" URIEncoding="UTF-8" compression="on" // 打开压缩功能 (on|off) compressionMinSize="2048" // 启用压缩的输出内容大小,这里面默认为2KB compressableMimeType="text/css,text/javascript,text/plain,application/javascript,application/json"/>//对哪些文件类型启用压缩
最后我发现少了一个参数:useSendfile="false"
<Connector port="8081" protocol="org.apache.coyote.http11.Http11AprProtocol" connectionTimeout="20000" redirectPort="8444" URIEncoding="UTF-8" useSendfile="false" compression="on" // 打开压缩功能 (on|off) compressionMinSize="2048" // 启用压缩的输出内容大小,这里面默认为2KB compressableMimeType="text/css,text/javascript,text/plain,application/javascript,application/json"/>//对哪些文件类型启用压缩
tomcat默认设置是当数据大小达到48kb时,将启用文件传输(sendfile),所以我们想要压缩超过48kb的数据时必须将useSendfile设置为false,具体看官方文档解释。
————————————————
版权声明:本文为CSDN博主「战华歌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huangxiao131414/article/details/106367572/