尽管请求中存在接受编码标头,但未压缩POST响应

时间:2019-09-17 10:26:38

标签: java spring-boot compression http-compression content-encoding

我遇到了一个奇怪的案例。我正在使用一个Spring Boot应用程序,其中包含一些不同的服务。

对于每个服务,在application.properties文件中添加了这些属性:

server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css
server.compression.min-response-size=1024

现在,每个适当的请求都应包含“ Accept-Encoding”标头,而响应应包含“ Content-Encoding”标头,并且应该对响应进行压缩,这样可以正常工作。

它几乎像那样工作,但是对于一项服务,POST响应不包含“ Content-Encoding”,即使POST请求包含“ Accept-Encoding”。这样的响应不会被压缩,因此不仅是缺少标题。对此服务的GET响应/请求工作正常。其余服务的两个GET / POST请求/响应也都可以正常工作。

此特定服务的Spring Boot版本是1.5.16.RELEASE。

我应该在哪里寻找原因?可以仅以POST响应方式覆盖此设置吗?

更新:我还注意到在该服务的POST响应中,缺少“ Vary:Accept-Encoding”标头。在所有其他情况下都存在。

1 个答案:

答案 0 :(得分:0)

尝试将Wiremock依赖项配置从 compile 更改为 testCompile 。在我的情况下,2.2m版本的wiremock(带有 compile )导致了此问题。