【问题标题】:Need Step-by-Step Overview for Compression on Tomcat需要在 Tomcat 上进行压缩的分步概述
【发布时间】:2013-05-22 11:14:33
【问题描述】:

需要在 Tomcat 7 上进行压缩的分步概述......我已经研究了好几天了。对压缩 text/xml 以响应来自 servlet 的响应特别感兴趣,但也想测试其他压缩。

从我的谷歌搜索和阅读来看,我似乎只需要添加几行来配置 server.xml 中的 http 连接器(见下文)。但是我正在检查诸如webpagetest.org 之类的网站,但没有看到任何结果(甚至在响应标头中也没有gzip)。我还需要什么?过滤器?在我的应用程序中使用 GZip 方法?在 web.xml 中指定用于输出压缩的 servlet?我会非常乐意继续正确处理细节,并且很高兴现在能确定我知道所有必要的部分是什么。

    <Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" 
          compression="on" 
          compressionMinSize="2048" 
          noCompressionUserAgents="gozilla, traviata" 
          compressableMimeType="text/html,text/xml,application/xml,text/javascript,text/css" />

更新。已解决...请参阅下面接受的答案下的 cmets。

【问题讨论】:

    标签: java tomcat7 http-compression


    【解决方案1】:

    您在编辑 server.xml 文件后是否重新启动了 Tomcat? 您是否检查了日志(logs/catalina.out)以查看服务器启动时是否有任何错误? (即配置文件中的错字)

    compression="on"
    

    应该可以。

    也许webpagetest.org 不支持gzip 压缩。你为什么不使用 Chrome 开发者工具(F12,你可以在网络标签中看到标题)?或 Firefox Web 控制台 (Ctrl+Shift+K) ?

    【讨论】:

    • 是的,我重新启动了。不错的工具。在 Firefox 上单击“Net”选项卡中的 GET 项找到标题。它也没有显示压缩。
    • 您是否尝试按照documentation 中的建议关闭 useSendfile ?
    • 给我的消息。连接器配置如上所示,在我的原始帖子中。如果我正确理解了文档,那么我没有 useSendfile (除非它是隐藏的默认值)。而且...好吧,我也是从文档中猜测的(这不是教程,但是一旦我了解自己在做什么,我肯定会很有用)效果不是取消compression =“on”,所以它应该仍然显示在响应头中。
    • 根据文档,它可能优先于压缩,并且似乎默认激活。这可能不是解决方案,但值得一试......
    • 是的 ... Content-Encoding:gzip 在设置 useSendfile="false" ... 后响应中的 servlet 加载速度很快。整个页面加载速度非常快。了不起的改进。谢谢埃里克。
    猜你喜欢
    • 2017-11-23
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    相关资源
    最近更新 更多