使用 Internet Explorer 从 Apache 下载时 Zip 文件损坏

使用 Internet Explorer 从 Apache 下载时 Zip 文件损坏

我有一个由 Apache 提供的 zip 文件,并且启用了 mod_gzip 压缩。使用 Firefox 下载该文件时一切正常。使用 IE7 下载时,zip 文件已损坏。有什么建议吗?我需要更改 zip 文件的 mime 类型还是将 zip 文件从 gzip 压缩中排除?

答案1

您随 .zip 文件一起发送的 MIME 类型是什么?我遇到过类似的动态下载页面(例如 download.php 发送文件)和压缩错误。当使用 application-zip 和 Content-Encoding: gzip 之类的东西时,IE 不会解压文件。如果我没记错的话,我通过使用 MIME 类型 application/octet-stream 来更正此问题。

话虽如此,您还是应该将 .zip 从 gzip 压缩中排除,因为如果没有实际损害性能,它可能毫无用处。

答案2

这个问题是一个已知问题适用于 Internet Explorer 7 和 8。这些浏览器无法正确处理带有 gzip 内容编码的 zip 内容类型。IE 8 版本仍然有一些受众,因为它是 XP 上可用的最后一个版本。

在 zip 上启用 http 压缩有点多余,但从技术上讲是有效的。在某些情况下,可能无法选择将 zip 从 http 压缩中排除,具体取决于所使用的技术。

因此,如果您想在 Web 服务器上为 Internet Explorer 7 或 8 用户启用一种解决方法,以便能够获取有效的 zip,如微软知识库,要么禁用 zip 内容上的 http 压缩,要么在服务器上将 zip mime 类型更改为 octet-stream。

答案3

您绝对应该将 zip 文件排除在 gzip 压缩之外。无需再次压缩已压缩的内容。这不仅适用于 zip 文件,也适用于 jpg 等。

相关内容