【问题标题】:http/1.0 and deflate/gziphttp/1.0 和放气/gzip
【发布时间】:2010-09-19 08:45:19
【问题描述】:

http/1.0 是否能够处理压缩和 gzip 内容? 我已经在我的极简网络服务器中完成了 deflate 和 gzip 的实现,但我真的不知道带有 http/1.0 的浏览器是否能够处理 deflate 和 gzip 压缩内容。

【问题讨论】:

    标签: http deflate


    【解决方案1】:

    对于deflate 的含义似乎有不同的解释。 HTTP 1.1 指定 RFC 1950 (zlib) 格式,但 IIS 会生成原始的 Deflate 流。 Internet Explorer 无法处理 RFC 1950 流 - 它会将 deflate Content-Encoding 解释为 RFC 1951 - 因此您可能希望完全避免使用该格式。

    .NET DeflateStream实现了 Deflate 压缩算法,它不创建 Zlib 格式。

    【讨论】:

      【解决方案2】:

      这真的取决于浏览器;不是协议(HTTP 1.0 确实允许压缩)

      您应该检查Accept-Encoding 标头,它可以是gzip,也可以是deflate。如果标头不存在,则不要压缩。

      【讨论】:

      • gzip 压缩和 HTTP 1.0 的一个问题是,在许多情况下,您将无法与其建立保持连接。这是由于无法使用分块传输编码,因此它适用于动态完成 gzip 时。不过,在这种情况下,它只会降级为常规的非保持活动连接。此外,如果文件是预压缩的并且服务器可以在开始时输出 Content-Length 标头,这不是问题。
      【解决方案3】:

      查看this rather extensive list。 (简短的回答似乎是:是的)。

      【讨论】:

        猜你喜欢
        • 2012-12-09
        • 2012-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多