我有一个嵌入式网络服务器,总共有2兆的空间。通常,gzip文件可以为客户带来好处,但这样可以节省我们在服务器上的空间。我读到你可以只是gzip js文件并将其保存在服务器上。我在IIS上测试过,我根本没有运气。在完成这项工作的每个步骤中,我到底需要做什么?

这就是我想象的那样:

  1. gzip foo.js
  2. 将html中的链接更改为指向foo.js.gz而不仅仅是.js
  3. 在回复中添加某种标题?
  4. 感谢您提供任何帮助。

    -fREW

    编辑:我的网络服务器无法动态执行任何操作。它不是Apache或IIS;它是ZiLog处理器上的二进制文件。我知道你可以压缩流;我刚刚听说您也可以压缩文件一次并将其压缩。

有帮助吗?

解决方案

正如其他人提到的那样,mod_deflate会为你做这件事,但我想你需要手动完成它,因为它是一个嵌入式环境。

首先,你应该在gzip之后留下文件名foo.js。

您不应该更改html文件中的任何内容。由于该文件仍然是foo.js

在(gzip)foo.js的响应头中发送标题

Content-Encoding: gzip

这应该可以解决问题。客户端请求foo.js并接收Content-Encoding:gzip后跟gzip文件,在解析之前它会自动解压缩。

当然这假设你确定客户端理解gzip编码,如果你不确定,你应该只在请求头包含

时发送gzip数据
Accept-Encoding: gzip

其他提示

在网络服务器上使用gzip压缩通常意味着压缩它的输出以节省带宽 - 不是你想要的。

看看这个描述 要么 这例如

如果您使用的是Apache,则使用 mod_deflate ,它会在飞行中压缩。

我认为你会因为认为如果你gzip它必须是一个文件而感到困惑。相反,考虑一个文件如何只是一个数据流,这个数据流可以在这里压缩,传输和解压缩,而客户端甚至不必考虑它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top