iis - IIS 8.5 静态压缩缺少 Content-Encoding 响应标头,但 Failed Request Tracing 显示使用 gzip 进行压缩
问题描述
我观察到Content-Encoded
响应头丢失了,特别是Content-Encoded: gzip。我正在使用static content compression
. 该dynamic content compression
功能从未安装过。我安装了它,启用它,然后再次测试。这一次,响应中出现了Content-Encoded: gzip 。问题是为什么响应头出现在动态内容压缩中而不是静态内容压缩中?我相当肯定 IIS 正在将 gzip 应用于静态内容压缩。原因如下:
我有一个 IIS URL 重写出站规则,它修改 HTML 页面上的响应。出站规则产生错误 500.52,URL 重写模块错误 - 当 HTTP 响应的内容被编码(“gzip”)时,无法应用出站重写规则。规则不是问题,只是据报道正在应用 gzip 的证据。我禁用了规则。这是线索#1。
线索 #2 是我启用
Failed Request Tracing
并观察到不仅应用了静态压缩,而且 StaticFileModule 将压缩文件存储在以下位置:C:\INETPUB\TEMP\IIS TEMPORARY COMPRESSED FILES\MY WEBSITE\$^_GZIP_D^\INETPUB \WWWROOT\TEST.HTML。
我阅读了有关IIS HTTP 压缩的 Microsoft 文档——我可能是错的——我没有看到任何表明 gzip 可以用于静态压缩的语言。基于以上两条线索,gzip 被用于静态压缩。
所以我回到最初的问题,即Content-Encoded
缺少响应标头static content impression
,但有证据表明 IIS 不仅压缩静态内容,而且使用gzip
. 这只是一个错误吗?这是设计使然吗?
解决方案
推荐阅读
- datasource - 使用Angular 7和材料在表格中动态添加一行
- reactjs - 如何在 reactjs 组件中将函数作为道具传递?
- r - ggalluvial - 在轴上删除一些观察结果
- python - 如何使用 Pandas 扁平化层次结构
- json - Spring Cloud 合约测试中的关键验证
- filter - 如果单元格值大于 0,则复制行 - Google 表格
- java - 无法连接到 IntelliJ 之外的 SQLite 数据库
- python - Pandas numpy.lookfor 等价物
- javascript - 我如何将用户的答案存储在一个数组中,以便它可以检查正确的答案
- reactjs - 测试是否在 react-testing-library 中的 fireEvent.click 之后在 radiogroup 组件中仅选择了 1 个单选按钮