Gzip 压缩在 Spring Boot 项目中不起作用

问题描述 投票:0回答:1

我正在尝试在我的 Spring Boot 项目(v2.7.12)中实现 gzip 压缩。

我在 application.properties 文件中添加了以下内容。

server:
    compression:
        enabled: true
        min-response-size: 10
        mime-types: application/json,application/xml,text/html,text/xml,text/plain
        compression-level: 6

现在,一旦我点击 API 并将请求标头添加为 Accept-Encoding: gzip ,我就不会在响应标头中返回 Content-Encoding: gzip

spring-boot gzip spring-boot-starter
1个回答
0
投票

您的配置看起来正确。将 Spring Boot 类视为 reference

compression-level
似乎没有做任何事情)

这是您可以检查的事项列表

  1. 您正在使用嵌入式 Web 服务器运行应用程序 (
    java -jar
    )。如果您将应用程序部署为应用程序服务器上的
    war
    ,则此操作不起作用。我假设您正在使用嵌入的 tomcat 来实现接下来的几点
  2. 在应用程序引导程序上,在此处放置一个断点,并检查您的配置是否已正确应用
  3. Accept-Encoding
    请求标头需要包含
    gzip
    ,看起来就像你所做的
  4. Content-type
    响应标头需要是
    application/json,application/xml,text/html,text/xml,text/plain
    之一。请检查您是否发送了正确的
    Accept
    请求标头。
  5. 响应大小需要大于
    min-response-size
    (此处为10字节)
  6. 如果以上都没有给出答案。在
    org.apache.coyote.CompressionConfig#useCompression
    中放置一个断点并找出它为什么响应错误。

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.