3

我正在使用这个片段:

// ... snip

header("Content-Encoding: gzip");
include some_file;

// ... snip

提供压缩内容。

我可以以这种方式提供哪些类型的编码。即我可以为 some_file 输入什么?

4

2 回答 2

5

这只是告诉接收方,发送方使用 gzip 压缩算法压缩了有效负载,并且在收到时需要对其进行解压缩。例如,服务器可能会压缩一个非常大的页面并将其发送给客户端,客户端将需要对其进行解压缩,然后才能对其进行进一步处理。

正如@Evert 指出的那样,客户端必须能够接受压缩数据。

这与下载 gzip 档案没有任何关系,因此文件类型无关紧要。

如果要指定要下载的文件的类型,可以使用Content-Type标头来完成。例如:

header("Content-Type: application/gzip"); // for GZIP archive files
header("Content-Type: application/zip"); // for ZIP archive files

或更笼统地说:

header("Content-Type: application/octet-stream"); // for arbitrary binary data
于 2013-06-11T16:34:22.137 回答
4

一切,只要它被压缩。但是您应该只在客户端发送以下文件时提供这样的文件:Accept-Encoding: gzip

于 2013-06-11T16:32:13.507 回答