我正在尝试在我的 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 类视为 reference (
compression-level
似乎没有做任何事情)
这是您可以检查的事项列表
java -jar
)。如果您将应用程序部署为应用程序服务器上的 war
,则此操作不起作用。我假设您正在使用嵌入的 tomcat 来实现接下来的几点Accept-Encoding
请求标头需要包含gzip
,看起来就像你所做的Content-type
响应标头需要是 application/json,application/xml,text/html,text/xml,text/plain
之一。请检查您是否发送了正确的 Accept
请求标头。min-response-size
(此处为10字节)org.apache.coyote.CompressionConfig#useCompression
中放置一个断点并找出它为什么响应错误。希望这有帮助