当前位置: 首页 > 知识库问答 >
问题:

为什么gzip最小响应大小没有得到遵守?

危卜鹰
2023-03-14

我使用spring Boot创建了压缩响应的配置。下面是我的配置。

@Bean
public ServerProperties serverProperties() {
    final ServerProperties serverProperties = new ServerProperties();
    serverProperties.getCompression().setMimeTypes(new String[] {"text/html","text/xml","text/plain","text/css","application/json"});
    serverProperties.getCompression().setEnabled(true);
    return serverProperties;
}

问题是所有的响应都有header[Content-Encoding gzip],即使响应大小小于min响应大小,默认为2048字节。

共有1个答案

龙越彬
2023-03-14

可能与此相关(在我的例子中是):
https://jira.spring.io/browse/spr-15212

Spring(mvc)http响应通常是“transfer-encoding:chunked”,因此没有content-length。
没有content-length就不能使用compression.min-response-size。

对于典型的服务器,这里提供内容长度的技术。

 类似资料:
  • 我正在使用一个电子邮件客户端,它将连接到Gmail邮箱并检索特定的电子邮件。 现在,我可以连接到我的邮箱,并可以检索部分电子邮件,而不是全部,无论我的缓冲区有多大,我仍然只能从我的电子邮件中获得1400个字符,然后其余的邮件主体为空。 您可以在此链接中找到电子邮件正文的屏幕截图 http://www.elzouhery.com/Mail 快照.png 提前感谢 编辑 请参阅下面的完整代码

  • 这是我的PHP代码: 从接收表单数据: 这是原始请求 Fiddler从cgi中给出了适当的响应,而php脚本只是显示html容器,我已经被困了一个多小时了!请帮忙 编辑:详细信息的输出: ^题外话:为什么这次它只让我发布链接,它应该被识别为链接? 此外,我会在fiddler中比较会话,但fiddler会在本地主机上向我自己的应用程序显示请求,而不是从我的应用程序向印度铁路网站显示请求。屏幕截图:无

  • 主要活动 公共类MainActivity扩展AppCompatActivity{String response; 公共类GetExample{OkHttpClient客户端; Xml文件

  • 问题内容: 我知道静态方法在类级别。因此,我知道我不需要创建实例来调用静态方法。但我也知道我可以将静态方法(如LIKE)称为实例方法。这是我感到困惑的地方,因为我期望从null对象调用静态方法(就像在调用实例方法中一样)。我真的很感谢一些解释,为什么我错了一个期望。 这是示例代码: 问题答案: 通过实例调用静态方法不需要实例存在。只要编译器能够确定变量的类型,它就可以在评估表达式并丢弃结果后静态进

  • 问题内容: 我正在学习Java 8文档。我知道最大数组大小定义为均值2 ^ 31 – 8 = 2147483639 。然后,我集中讨论了为什么要减去8 或减去? 有些人根据文档给出了一些逻辑。因此,对于标题字,减去8。但是在这种情况下,如果标题字需要大于8,那么答案是什么? 请在此基础上澄清我。预先感谢您的合作。 问题答案: 阅读上述有关Java内存管理的文章,其中清楚指出 我认为这适用于Arra

  • 我正在学习Java I/O。因此,使用缓冲流可以减少读取或写入所需的时间,因为如果使用普通的FileInputStream,每次调用读取时都会获取一个字节,但如果使用缓冲区,则会获取指定大小的数据并将其存储在内存中。所以我试着在实践中看到这一点。 我已将BufferedInputStream的缓冲区大小设置为512,8192,65536。每次需要87秒才能完成执行。所以我尝试使用FileInput