是否可以在服务器端gzip文件并在浏览器中透明地解压缩它?

时间:2017-03-29 13:56:55

标签: javascript http gzip content-encoding

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

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

例如,如果我写

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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