3

简而言之-本质上我正在尝试创建一个Heavy-client & Light-Server单页应用程序。

我正在通过一个简单的 HTML 脚本标签获取压缩的 JSON 数据文件。

<script type="text/javascript" src="myjson.json.gz"></script>
<script type="text/javascript" src="parse.js"></script>

myjson.json文件的内容类似于:

media_library={some:"json", data: "here"}

只是,它大约是 6MB。javascript代码具有使用文件中声明的变量中parse.js的数据来操作创建网页的逻辑。media_libarymyjson.json

压缩它以myjson.json.gz将大小减小到 650KB。这允许更快的加载时间。

我用谷歌搜索了两种方法:

(1) 找到代码让javascript将gzip文件膨胀到myjson.json,然后开始运行

(2)找代码获取javascript从gzip文件中读取json对象

我也找不到任何东西。

我正在寻找一种方法来节省传输整个数据的网络时间。

让服务器发送只需要的 JSON 的想法已经越过我的脑海,但这违背了我保持服务器轻便并让我的客户端进行搜索、排序、过滤和呈现(重客户端的东西)的意图。

有没有办法让服务器只发送压缩的 JSON 数据以解压缩并在浏览器上工作?

谢谢。

我正在python -m CGIHTTPServer用作我的服务器。

这是浏览器的网络活动检查器。

网络活动

4

1 回答 1

2

使用压缩传输编码,例如 gzip。您的服务器可能已经配置为提供此服务,并且您的浏览器也已经可以处理它。然后,您无需执行任何操作。作为奖励,浏览器可以指定它支持的编码。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding

实施的细节取决于您的服务器。通常它是一个简单的配置行。如果你有一个经常被点击的资源,你也可以预先压缩它,这样服务器就必须发送它。

于 2016-12-14T01:46:04.017 回答