在node.js和javascript客户端压缩/解压缩字符串

时间:2014-09-15 12:10:53

标签: javascript node.js compression

我有一个节点服务器,可以同时为超过10,000个用户提供大数据服务,我已经尝试过lz-string https://www.npmjs.org/package/lz-string,但它不是好模块,因为它阻塞了节点线程。

请回答以下问题:

  1. 最好压缩服务器中的数据,然后在客户端解压缩而不是发送plain / json数据?

  2. 压缩/解压缩数据的最佳和最快方法是什么?

1 个答案:

答案 0 :(得分:2)

如果您使用HTTP协议通过互联网发送大量文本数据,那么已经有一些技术可以帮助您。

一个叫HTTP Compression。 HTTP协议规范允许很少的压缩算法对正在发送的数据执行,但这需要正确配置服务器和客户端以进行压缩。标准Node.js服务器不会在不修改代码的情况下压缩数据。


对于没有任何框架和第三方模块的裸Node.js,有zlib模块专门用于HTTP压缩,包括服务器和客户端。


使用 Express ?然后是compression middleware


使用nginx作为node.js应用程序的代理服务器也许值得一看。然后,您可以轻松地翻转开启compression in nginx的开关,而无需在Node.js应用程序中执行任何操作:

server {
  gzip on;
  ...
}

这实际上取决于您使用的堆栈,但想法是一样的:压缩HTTP流本身,因为协议支持它。