强制浏览器将XHR响应解释为gzip

时间:2016-04-14 00:26:37

标签: javascript json ajax gzip

我正在编写一个仅限客户端的JavaScript应用程序,该应用程序下载(通过XHR)相对较大的JSON数据集以供显示。我想提前gzip这些数据集以节省空间和带宽(例如mydata.json.gz)。

很遗憾,我无法控制服务器配置,并且会为Content-Type: application/x-gzip个文件发送.json.gz个标头,而不是正确的Content-Encoding: gzip和{{{ 1}}。因此,我的应用程序会收到原始的gzip压缩数据,而不是我可以传递给Content-Type: application/json的内容。

我知道一些纯JavaScript的Gzip实现(例如pako)可能会完成工作,但有没有办法欺骗浏览器为我解码它赢得&# 39; t需要一个不必要的45KB库?

1 个答案:

答案 0 :(得分:1)

  

我知道一些纯JavaScript的Gzip实现(例如pako)可能会完成工作

使用其中一个

  

但有没有办法欺骗浏览器为我解码它不会需要一个不必要的45KB库?

没有

服务器说"这是一个gzip文件"而不是"这是一个使用gzip编码传输的JSON文件"。

您必须更改HTTP响应标头以使浏览器透明地解码它。