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

Why gulp-gzip and can I serve gzipped content without configuring the server?

本文关键字:情况下 gzip 服务器 gulp-gzip 我可以 配置 不配 为什么      更新时间:2023-09-26

我最近在探索各种 gulp 插件时遇到了两难境地。其中一个是gulp-gzip,在那之前,我从未想过压缩我的文件。我得到了gulp-gzip正常工作并吐出我的 HTML、CSS 和 JS 文件的 gzip 版本,但是接下来呢?

我用谷歌搜索了一下,发现大多数文章都在谈论配置服务器以根据请求自动将内容的压缩版本发送到客户端。但是,我似乎有点不明白本地gziping的目的。

所以,我的问题是:

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

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

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

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

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

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

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