tomcat 9.0 http2压缩

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443">
    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"
                      compressibleMimeType="text/css,text/javascript,application/json"
                      compression="on"
                      compressionMinSize="1024" />
</Connector>
  • compressibleMimeType:指定哪些 MIME 类型的内容可以进行压缩,多个类型用逗号分隔,默认为text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xml
  • compression:设置压缩方式,可取值为off(禁用压缩)、on(允许压缩,文本数据会被压缩)、force(强制在所有情况下压缩)或指定一个数值(等价于on,但指定了输出压缩前的最小数据量),默认为off
  • compressionMinSize:当compression设置为on时,指定输出压缩前的最小数据量,默认为2048字节。

 

注意事项:

 

    • 如果Connector支持sendfile功能(如 NIO2 连接器),使用sendfile会优先于压缩,可能导致大于 48Kb 的静态文件不被压缩。可以通过设置useSendfile属性为false来关闭sendfile功能,或者调整DefaultServletconf/web.xml或应用程序web.xml中的sendfile使用阈值。
    • 部分属性如noCompressionStrongETag已被标记为废弃,在 Tomcat 10 及以后版本将被硬编码为true
    • 确保应用程序中的资源和请求处理逻辑与 HTTP/2 的特性兼容,例如处理额外的请求属性(如org.apache.coyote.connectionIDorg.apache.coyote.streamID)以及正确处理流控制等。
posted @ 2024-12-22 13:49  锐洋智能  阅读(24)  评论(0)    收藏  举报