NIO连接器+gzip压缩

4
我长期以来一直是Tomcat用户,现在希望开始尝试使用Tomcat 7并进行升级。
我们使用独立的Tomcat,使用BIO服务于许多静态资源...所以你在“2010年十大文章”中的这篇文章http://www.tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform非常有趣。
然而,我们目前的使用(Tomcat 6 + BIO)使用gzip压缩,如下所示:
    <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="9400"

               compression="on"

               compressionMinSize="2048"

               noCompressionUserAgents="gozilla, traviata"

               compressableMimeType="text/html,text/xml,text/javascript,text/css"/>

然而,我在查阅文档时注意到,APR和NIO连接器都没有压缩的参数。能否有人详细说明如何通过server.xml / connector以类似的方式设置压缩?如果不可用,是否有计划将此功能纳入其中?
我知道我们可以使用自己的gzip过滤器编写这个功能;然而,连接器方法更加简单优雅,因为gzip过滤器必须应用于我们所有的Web应用程序(SOA架构中的10多个Web应用程序)。
谢谢。
1个回答

0

我认为你误解了文档。它说

除通用连接器属性外,标准的 HTTP 连接器(BIO、NIO 和 APR/native)都支持以下属性。

compression 属性在“标准”列表中,因此我认为所有其他连接器都支持它。


实际上,相反,压缩是列在标准实现部分中的。 - Zeki
然而,压缩确实在源代码中:http://grepcode.com/file/repository.springsource.com/org.apache.coyote/com.springsource.org.apache.coyote/6.0.24/org/apache/coyote/http11/Http11NioProtocol.java#Http11NioProtocol.getCompression%28%29 我会在本地尝试并报告结果。 - Zeki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接