我的Web应用程序将JSON文件发送到客户端。这些文件可能比较大。
我可以在服务器端压缩它们并在客户端透明地接收未压缩的文件吗?
例如,如果我写
$.getJSON( "ajax/test.json", function( data ) {
...
});
我可以让ajax/test.json
gzip并将内容编码设置为gzip吗?
答案 0 :(得分:2)
您尚未指定有关服务器端设置的任何信息。
如果您正在动态生成json,那么您应该检查浏览器发送的请求是否包含Accept-Encoding: gzip
标头。
如果是,则将标题Content-Encoding: gzip
添加到响应中,然后只发送gzip压缩数据。
如果json文件是静态的,您应该在您的网络服务器配置中将application/json
mime类型配置为可压缩,或者更好的是,预压缩它,将file.json和file.json.gz存储在您的网络服务器上,然后配置条件重写和标头,因此压缩文件仅提供给支持压缩的客户端。
搜索/询问ServerFault如何在您的网络服务器上执行此操作。