何时使用Node.js压缩文件

时间:2016-04-26 23:32:23

标签: node.js compression gzip zlib

我正在尝试更好地理解Node.js中的静态文件服务进程。我认为除了文件压缩之外,我对所有内容都有很好的处理能力。许多引用似乎暗示您应该动态压缩文件。 Express似乎在其compression中间件中使用了这种方法。

考虑到与压缩文件相关的memory / time问题以及要压缩的文件的静态特性,为什么要动态压缩这些而不是将它们压缩为构建步骤的一部分或类似的东西?我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

以下是一些原因:

  • 新文件将添加到库中。每次添加或更改新文件时,您可能都不想重新构建所有内容。
  • 使用的编码算法实际上用于压缩和加密,需要动态生成的密钥才能解码。
  • 自适应霍夫曼编码不会占用大量内存和处理能力。
  • 您可以将多个小文件打包在一起并立即发送,而不是来回发送HTTP请求。
  • 您可以自定义编码算法,以支持以大块文件的形式发送,从而实现停止和恢复。
  • 根据应用程序的不同,有时将文件保留在内存中是有意义的,如果文件一直发送而不是每次都从存储介质中读取。

答案 1 :(得分:0)

因此,经过大量研究和自我实验后,我的结论是,如果您直接从Node提供文件,那么没有理由不提前压缩静态文件。

我最后通过unix的gzip命令管理它来压缩我的大型静态文件作为构建步骤的一部分。

相关问题