-2

我的 Web 应用程序将 JSON 文件发送到客户端。这些文件可能比较大。

我可以在服务器端压缩它们并在客户端透明地接收未压缩的内容吗?

例如,如果我写

$.getJSON( "ajax/test.json", function( data ) {
...
});

我可以只ajax/test.json压缩 gzip 并将内容编码设置为 gzip 吗?

4

1 回答 1

2

您尚未指定有关服务器端设置的任何信息。

如果您正在动态生成 json,那么您应该检查浏览器发送的请求是否包含Accept-Encoding: gzip标头。如果是,则Content-Encoding: gzip在响应中添加标头并发送 gzip 压缩数据。

如果 json 文件是静态的,你应该application/json在你的网络服务器配置中将 mime 类型配置为可压缩,或者更好的是,预压缩它,将 file.json 和 file.json.gz 存储在你的网络服务器上,然后配置条件重写和标题,所以压缩文件仅提供给支持压缩的客户端。搜索/询问 ServerFault 如何在您的网络服务器上执行此操作。

于 2017-03-29T14:05:07.160 回答