我正在尝试使用 Angular (v1.2.6) 加载 json 文件:
$http.get('myfile.json').success(function(data) { ... }
Run Code Online (Sandbox Code Playgroud)
这工作正常,除非我在服务器上创建文件的(静态)压缩版本,并尝试加载“myfile.json.gz”(以减少加载时间)。
请求标头似乎正确(Mac 上的 Chrome 31.0)(如此处和此处所述):
Accept: application/json, text/plain, */*
Accept-Encoding: gzip,deflate,sdch
Run Code Online (Sandbox Code Playgroud)
而响应标头包含:
Connection: close
Accept-Ranges: bytes
Content-Length: 702468
Content-Type: application/x-gzip
Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)
但是,内容不会由客户端浏览器自动解压缩,据我了解应该是这样。data.length是 ~700Kb 而不是原始未压缩的 ~3Mb。
尽管这篇文章建议它需要手动完成,但我理解减压应该是自动且透明的。
我的问题是,它应该自动解压吗?为什么这里不是这样呢?