那么,连接的gzippo好吗?
我有两个问题,
1)如果我想提供静态javascript(我使用快递),我可以做gzippo并做到这一点:
app.use(gzippo.staticGzip(__ dirname +'/ public'));
是吗?如果客户端浏览器不支持gzip(在极少数情况下)怎么办?它会自动发送解压缩版本吗?此外,压缩文件是否会被缓存?或压缩每个请求?
2)如果app的get方法返回JSON,那么处理压缩结果的正确方法是什么?我应该先检查http.request标头的“accept-encoding”并确保它支持gzip,然后压缩JSON结果吗?或者gzippo会自动处理吗?
还有一个问题: 3)如果我在公共文件夹中有一个未压缩的JS文件(例如my.js)和一个手动gzipped JS文件(例如my.js.gzip),如果客户端脚本包含的话,将提供哪个文件
我必须指定为?
这个问题不仅在node.js上,而且在普通的apache服务器上。 :) 谢谢。
答案 0 :(得分:3)
如果客户端浏览器没有,该怎么办? 支持gzip(在极少数情况下)?会吗 自动发送解压缩 版本
根据这条线:
https://github.com/tomgallacher/gzippo/blob/master/lib/staticGzip.js#L121:
if (!~acceptEncoding.indexOf('gzip')) {
return pass(filename);
}
它将发送未压缩的文件。
此外,压缩文件会被缓存吗?要么 压缩每个请求?
//This is storing in memory for the moment, need to think what the best way to do this.
我在评论中读到这个,所以我现在假设它将gzipped文件存储在内存中。但更重要的是它还使用客户端缓存。
如果app的get方法返回JSON, 什么是正确的处理方法 压缩结果?我应该先检查一下 http.request标题 “接受编码”并确保它 支持gzip,然后压缩JSON 结果?或gzippo会自动 处理它?</ p>
我认为你站得对。我不相信Gzippo会处理其他路线,但只会处理静态文件夹。
其他一些提示:
答案 1 :(得分:0)
考虑使用一些云API API中间件,如AWS APIGateway,一些支持GZipping的CDN,您始终可以使用nginx或HAproxy制作自己的反向代理服务器。见这里的子弹3: http://goldbergyoni.com/checklist-best-practice-of-node-js-in-production/