我使用这个代码片段:
// ... snip
header("Content-Encoding: gzip");
include some_file;
// ... snip
提供压缩的内容。
我可以用这种方式提供哪些类型的编码?例如,我可以在some_file中输入什么?
这只是告诉接收方发送方使用gzip压缩算法压缩了有效负载,并且在接收时需要对其进行解压缩。例如,服务器可能会压缩一个非常大的页面并将其发送给客户端,客户端需要在进一步处理之前将其解压缩。
正如@Evert指出的,客户端必须能够接受gzip数据。
这与下载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
任何东西,只要是压缩过的。但是,只有当客户端发送Accept-Encoding: gzip