类似于this post需要向浏览器发送一个大的30MB JSON文件,压缩到3MB . (是的,是的,解压缩是大而密集的,但最好是作为一个静态文件提供一次,而不是像对REST API的150个单独的AJAX调用那样,并且这里有一些前期加载时间可以) .
也像原始帖子一样,它是一个静态文件,因此可以提前压缩它(因此服务器不需要在每个请求上压缩它) . 此外,可以从服务器上的公共目录服务它,在Node.js / Express.js中我将其标记为静态目录:
app.use(express.static(__dirname + "/public"));
一位评论者回答说:
"It is also possible to precompress your JSON and then just tell Apache to serve the files with the appropriate headers to avoid having to recompress all the time."
Question 1: 我如何在Node / Express中执行此操作,即告诉Node告诉浏览器文件是否为gzip格式,以便浏览器自动解压缩它?
另一个答案是"...but do check that the browser supports compression ",这提出了另一个问题?
Question 2: 大多数〜现代浏览器能够解压缩内容吗?或者我最好只包括一个用于解压缩的Javascript库,通过Ajax作为二进制文本获取数据,并始终使用我自己的代码而不是浏览器的本机实用程序解压缩它?
(为了我的目的,可以排除一些旧浏览器,例如丢弃IE6就可以了,放弃对IE9的支持不会)