为什么gulp-gzip我可以在不配置服务器的情况下提供gzip压缩内容?

时间:2016-08-30 20:34:54

标签: javascript css gulp gzip

我最近在探索各种插件时陷入了困境。其中一个是gulp-gzip,直到那时,我从未想过压缩我的文件。我让gulp-gzip正常工作并吐出我的HTML,CSS和JS文件的gzip压缩版本,但接下来是什么?

我搜索了一下,发现大多数文章都谈到配置服务器以根据请求自动向客户端发送gzip压缩版本的内容。但是,我似乎并不了解本地gzipping的目的。

所以,我的问题是:

  1. 我可以提供从gulp-gzip获取的gzip压缩内容而无需配置我的服务器吗?
  2. 如果是,我应该如何进行 - 我应该将我的gzip压缩文件命名为什么?我应该保留.gz扩展名并使用相同的链接链接到我的CSS和JS文件吗?
  3. 如果是,我可以通过链接到相同的.gz文件在本地测试吗?
  4. 如果不是,如果可以将服务器配置为自动执行,那么gulp-gzip在开发环境中的用途是什么?

1 个答案:

答案 0 :(得分:0)

如果存在*.gz版本,大多数服务器都可以选择提供静态预压缩文件,即当用户请求foo.css时,服务器将检查foo.css.gz是否存在并使用它。

它需要服务器支持(服务器必须设置适当的HTTP标头),因此它不能使用file://协议,并且可能无法在每台服务器上运行。

在网址中,您必须引用基本文件名(不要直接链接到.gz)。

提前压缩文件可能会更好:

  • 您可以使用更高的压缩级别(例如最大gzip级别或Zopfli压缩程序),这对于在服务器上实时执行来说太慢了。
  • 提前压缩可以节省服务器的CPU时间,因为它不需要在文件被请求时动态压缩文件。

将文件部署到服务器以同时更新*.css*.css.gz时要小心,否则您可能会惊讶于您有时会看到旧版本的文件。