【问题标题】:Empty content from gziped http responsegzip 压缩的 http 响应中的空内容
【发布时间】:2014-04-03 08:21:29
【问题描述】:

我已经在过滤器中实现了响应的 gziping 内容。如果服务器发送没有任何内容的 200 响应仍在添加内容编码标头,如

Content-Encoding:gzip
Content-Length:0

另一方面,另一个过滤器正在读取响应并尝试创建 GZIPInputStream,但由于内容不包含 gzip 页眉和页脚,这将失败。 问题是哪一方做错了?生产者不应该添加“Content-Encoding:gzip”吗?生产者是否应该在内容中添加 gzip 页眉/页脚?或者也许消费者应该识别空内容并且不要尝试创建 GZIPInputStream?浏览器在使用此类响应方面没有任何问题。

【问题讨论】:

  • 发件人在这里有问题,我会说;只需发送一个空的 GZIP 流,而是一个流。
  • 这是我的第一个想法,但是为什么浏览器会毫无问题地接受这样的响应呢?
  • 我猜他们有解决方法......但这并不能真正使它合法,不是吗?无论如何,安全总比后悔好;)

标签: java http encoding gzip


【解决方案1】:

我没有尝试这种特殊情况,但我认为生产者方面还可以,因为响应没有内容,所以 Content-Length:0 可以。 但是,当它尝试创建具有 nil 内容的 GZIPInputStream 时,消费者端就不行了。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 2011-12-06
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    相关资源
    最近更新 更多