为什么要 gulp-gzip 以及我可以在不配置服务器的情况下提供 gzip 内容吗?
Why gulp-gzip and can I serve gzipped content without configuring the server?
我最近在探索各种 gulp 插件时遇到了两难境地。其中一个是gulp-gzip
,在那之前,我从未想过压缩我的文件。我得到了gulp-gzip
正常工作并吐出我的 HTML、CSS 和 JS 文件的 gzip 版本,但是接下来呢?
我用谷歌搜索了一下,发现大多数文章都在谈论配置服务器以根据请求自动将内容的压缩版本发送到客户端。但是,我似乎有点不明白本地gziping的目的。
所以,我的问题是:
- 我可以在不配置服务器的情况下提供从
gulp-gzip
获得的 gzip 内容吗? - 如果是,我应该如何继续 - 我应该将我的 gzip 文件命名为什么?我应该保留
.gz
扩展名并使用相同的扩展名链接到我的 CSS 和 JS 文件吗? - 如果是,我可以通过链接到相同的
.gz
文件在本地测试它吗? - 如果不是,如果可以将服务器配置为自动执行,那么在开发环境中
gulp-gzip
的目的是什么?
如果
存在*.gz
版本,大多数服务器都可以选择提供静态预压缩文件,即当用户请求foo.css
时,服务器将检查foo.css.gz
是否存在并使用它。
它需要服务器支持(服务器必须设置适当的 HTTP 标头(,因此它不适用于 file://
协议,并且可能无法在每台服务器上工作。
在URL中,您必须引用基本文件名(不要直接链接到.gz
(。
提前压缩文件可能会更好:
- 您可以使用更高的压缩级别(例如最大 gzip 级别或 Zopfli 压缩器(,这对于在服务器上实时执行的速度太慢。
- 提前压缩可以节省服务器的 CPU 时间,因为它不必在请求文件时动态压缩文件。
将文件部署到服务器以同时更新*.css
和*.css.gz
时要小心,否则您可能会惊讶于有时会看到文件的旧版本。
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 在不知道深度或父属性的情况下从对象中删除属性
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在不影响其他元素的情况下扩展DIV
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 在不移动内部文本的情况下缩放元素的效果
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 默认情况下折叠和展开嵌套列表
- 如何在不单击javascript中的按钮的情况下触发事件
- 为什么要 gulp-gzip 以及我可以在不配置服务器的情况下提供 gzip 内容吗?