首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Gzipped压缩的JSON文件未解压缩

Gzipped压缩的JSON文件未解压缩
EN

Stack Overflow用户
提问于 2011-12-02 09:41:07
回答 3查看 17.7K关注 0票数 20

我将大型(30MB+) JSON文件作为file.json存储在我的服务器上。使用jQuery的getJSON("http://site/file.json")函数可以很好地工作,但是,正如你可能认为的那样,下载30MB的JSON响应需要相当多的时间。

取而代之的是,我现在将它们存储为Gzip文件(file.json.gz),这将它们减少到略低于1MB!我也想用getJSON(“http://site/file.json.gz"”)来做同样的事情,但是看起来浏览器是而不是来解压GZIP的响应,所以解析它是不起作用的。

那么,有没有办法让jQuery或浏览器解压缩用file.json.gz等GZIP压缩过的静态JSON文件呢?

顺便说一句:保存的文件被正确压缩。如果我手动解压它们,我会得到30MB+有效的JSON文件。

EN

回答 3

Stack Overflow用户

发布于 2011-12-02 09:48:03

浏览器不会自动解压缩它们遇到的任何压缩数据。服务器必须告诉浏览器,流只是为了传输而压缩,在处理之前需要解压缩(否则您根本无法下载和保存压缩的归档文件!)您需要让您的web服务器发送适当的标头(Content-Encoding),但在执行此操作之前,请首先检查浏览器是否支持压缩( Accept-Encoding标头)。大多数hit服务器也可以在运行时为你压缩文件,除非这对性能的影响太大。

不知何故,我感觉在浏览器上解析这么多JSON会比检索JSON更麻烦……

票数 11
EN

Stack Overflow用户

发布于 2011-12-02 09:46:16

您不必手动在服务器上对文件进行gzip压缩。如果浏览器和底层XMLHttpObject支持Accept-Encoding gzip,deflate报头,则文件(响应)将在传输之前由服务器压缩(压缩)。

但是,您需要配置您的per服务器(如果使用IIS,请检查其metabase.xml)以根据传入HTTP请求的标头在响应时应用deflate。

配置帮助:

有关Apache web服务器的信息,请参阅:http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

对于IIS:http://www.codinghorror.com/blog/2004/08/http-compression-and-iis-6-0.html

票数 2
EN

Stack Overflow用户

发布于 2012-11-16 15:19:23

尽管有人反对这样做,但可以使用JavaScript解压缩gzipped数据。有关解决方案,请参阅this questionthis question

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8350749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档