我不得不渲染一个 json 提要。由于提要的大小约为 10 MB,因此我决定在 ASPNET 中启用压缩。我为 json mime 类型启用了动态压缩。压缩效果很好,并将大小减小到 1 MB(对使用的服务器 CPU 有显着的压缩优势)。
但奇怪的是,浏览器每次花费 2.6 分钟并失败,尽管我看到 JSON 在几秒钟内收到。
我尝试使用提琴手和检查工具进行调试。我看到分块传输编码作为响应。所以浏览器等待大约 150 秒来接收 0 大小的块来完成。
我不会在任何 json 服务中刷新响应。因此 IIS 在这种情况下启用了分块传输。关闭 enableChunkedEncoding 也无济于事。
如何使这种压缩工作或压缩+分块传输一起工作?
这是请求和响应标头。
请求标头
请求网址:http://localhost:8080/Default2.aspx
请求方法:GET
状态码:200 OK
接受编码:gzip、deflate、sdch
响应标头
内容编码:gzip
内容类型:应用程序/json;字符集=utf-8
传输编码:分块
编辑:有趣的是,当压缩响应 < 1 MB 时一切正常。当响应大于 1 MB 时,问题就会蔓延。我在这里创建了测试项目
提前致谢