知方号

知方号

Tomcat启动gzip压缩来解决vendor.js过大页面加载慢的问题

Tomcat启动gzip压缩来解决vendor.js过大页面加载慢的问题

        在部署ionic项目的时候,发现vendor.js文件过大,达到了1.6M,h5页面需要加载十五秒才能显示出来。这显然是不能接受的。

按照网上的指导,更换了ionic的大包方式,由

ionic build --prod

改为了

ionic cordova build browser --prod

按理说忽略了没用的js文件,vendor.js应该变小的,可是并没有生效。仍然是1.6M。所以,只能从容器层面下手了。在网上看了多篇博客,七零八碎,所以我自己总结记录。

tomcat 启动gzip压缩

各种属性介绍:

compression="on"  打开压缩功能compressionMinSize="1024" 启用压缩的输出内容大小,大于1024K才启动压缩,默认为2KBnoCompressionUserAgents="gozilla, traviata"  对于以下的浏览器,不启用压缩compressableMimeType="application/json,application/xml,text/html,text/xml,text/plain,application/javascript,font/ttf,image/jpg,image/png,image/gif"哪些资源类型需要压缩useSendfile="false"  这个属性至关重要,tomcat默认设置是当数据大小达到48kb时,将启用文件传输(sendfile),所以我们想要压缩超过48kb的数据时必须将useSendfile设置为false。如果这个属性没设置,那么上边4个属性的设置就全都会失效。

注意,以上开启gzip压缩的配置在tomcat8以前不生效。 原因:tomcat7以后,js文件的mimetype类型变为了application/javascript

所以Tomcat8以前,需要将compressableMimeType中的“application/javascript”写为“text/javascript”

同时注意,如果Tomcat被nginx或其他代理软件所代理。项目访问路径直接访问的nginx,那你仍需要将nginx的gzip启动。只有直接访问Tomcat,以上的配置才生效。

文章中有部分内容摘自其他博客,如有侵权请告知。定会删除。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。

上一篇 没有了

下一篇没有了