【问题标题】:Using GZIP with html pages served from Amazon S3将 GZIP 与从 Amazon S3 提供的 html 页面结合使用
【发布时间】:2011-03-24 00:09:59
【问题描述】:

有谁知道使用 Amazon S3 提供 gzip 压缩的 HTML 页面的任何问题。我需要最小化 HTML 文件的文件大小(即提供压缩的 HTML、CSS 和 javascript 文件)——但我担心:

  1. Amazon S3 无法将 gzip 压缩文件正确地提供给请求它的浏览器。或者,

  2. 某些浏览器无法读取 gzip 压缩的内容。我知道旧版浏览器不支持 gzip 压缩的内容(例如 IE6 和更早版本) - 并且一些(现代?)防病毒软件会去除内容编码标头。

我是否需要提供未压缩的 HTML(我相信 Amazon S3 会轻松支持) - 还是我可以放心大多数现代浏览器都可以处理我的 gzip 压缩内容?

【问题讨论】:

    标签: amazon-s3 gzip


    【解决方案1】:

    压缩文件并将以下元数据条目添加到 S3 对象,然后再上传:

    内容编码=gzip

    【讨论】:

    • 这是在浏览器中生成一个 ERR_CONTENT_DECODING_FAILED,最好是制作一个脚本自动 gzip 压缩然后上传到 s3。
    【解决方案2】:

    Amazon S3 不支持自动压缩内容,但您可以在上传内容之前手动更改内容编码标头。它将尽职尽责地将内容作为内容类型 gzip 提供。但是,如果您的文件扩展名是 .gz,那么 safari 会将其视为附件,因此您必须使用 .jgz 作为文件扩展名。

    【讨论】:

    • 这不一定是真的。与 Content-Type 和 Content-Encoding 响应标头相比,扩展名与浏览器如何处理文件关系不大。
    • thesmart - 我确实对此进行了测试,发现如果文件扩展名为 .gz,Safari 将不遵守 content-encoding= gzip,但我可能搞砸了测试
    • Michael:啊,没想到你指的是Safari中的一个错误。根据我的经验,.gz.js 可以很好地作为扩展。
    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2011-12-27
    • 2013-02-20
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多