【问题标题】:why does IIS7 static/dynamic compression only work for 200 responses?为什么 IIS7 静态/动态压缩仅适用于 200 个响应?
【发布时间】:2011-02-15 11:31:36
【问题描述】:

为什么响应码为200时IIS7.5只进行静态和动态压缩?

如何使它压缩请求具有适当 Accept-Encoding 标头的所有响应?

谢谢

【问题讨论】:

  • 会不会是您在非 HTTP 200 中返回的资源未列在“要压缩的文件扩展名”列表中?
  • 不。只需制作一个空白的 aspx 页面,返回 200 就可以了,返回其他任何东西都没有。好吧,反正不是 403、404、418 或 500。
  • @Andrew 我们自己也在想同样的事情。
  • 我认为这是设计使然,而 IIS 团队只是做出了错误的决定。
  • 无论如何都不要使用 IIS 的内置压缩。见stackoverflow.com/questions/1574168/…stackoverflow.com/questions/3681516/…

标签: iis-7 compression gzip


【解决方案1】:

我将回答你问题的第二部分,如何让它压缩请求具有适当 Accept-Encoding 标头的所有响应?

您可以使用 HTTPModules 来完成。

这是使用Ionic.Zlib 的一种方式。该模块更喜欢发送 RAW DEFLATE 内容,因为它总是比 GZIP (why?) 更快且总是更小。

更完整的解决方案现在托管在 github https://github.com/davidmurdoch/DEFLATE-Compression-for-IIS 上。

【讨论】:

  • 非常详细,感谢其他问题的链接
  • 没问题。上面的代码大部分是从另一个来源复制/粘贴的,我从来没有意识到实际代码是多么的包...所以,我正在努力让它变得更好,并将很快更新。
  • 是的,不用担心,我自己知道该怎么做(尽管感谢 zip lib 上的信息)。只是不明白为什么 IIS 很奇怪,以为我做错了什么。似乎没有,只是设计不佳。
  • @Andrew,为此我在 github 上放了一些东西:github.com/davidmurdoch/DEFLATE-Compression-for-IIS
猜你喜欢
  • 2011-08-02
  • 2012-02-02
  • 2018-03-31
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多