2011-03-20 29 views
6

有没有办法更改IIS压缩模块,以便它不会在响应头中放入Vary:Accept-Encoding?我宁愿它把变化:*或什么也不做,让我把自己的价值放在自己...IIS压缩模块和Vary:Accept-Encoding标头

+0

与此同时,这里是MS连接错误,请投:http://connect.microsoft.com/VisualStudio/feedback/details/ 758474/iis-gzip-compression-filter-removing-pre-existing-vary-header – Dmitry 2012-11-21 04:09:10

+0

我一直在使用MS直接关于这个问题,它已经计划在下一个版本的IIS中修复,但是有目前还没有ETA。 – 2013-02-13 23:14:33

+0

@ Dr.C.Hilarius看起来不错,谢谢你这么做。 – jjxtra 2013-02-13 23:21:21

回答

5

好吧,显然IIS压缩模块强制Vary头无论如何都是接受编码,所以缓存变成棘手。对于具有身份验证的页面而言,这是不好的,因为它不会基于用户co​​okie检测到它的不同。我结束了在我的控制器中压缩自己的压缩,现在一切正常。

我的建议 - 只使用IIS静态压缩,不要使用动态压缩,而是使用自己的动态压缩。从长远来看,这会节省你的痛苦,并给你更多的控制权。

+0

你有这方面的资料吗,或者你是否放弃寻找解决方案来解决这个问题?我目前正在尝试启用变化:接受,或者至少有所不同:*在我的mvc应用程序(我根据接受回应json或文本/ html)但动态压缩打开,任何不同的头我手动设置IIS或outputcaching属性集合,完全被动态压缩打开。很愚蠢。 – 2011-04-01 10:09:05

+1

@Martin Hansen:我同意,这里是如何在你的控制器中进行动态asp.net压缩的链接:http://weblogs.asp.net/rashid/archive/2008/03/28/asp-net-mvc -action-filter-caching-and-compression.aspx – jjxtra 2011-04-01 16:28:47

4

此问题现在由IIS的官方补丁解决。要下载并进一步信息,请访问http://support.microsoft.com/kb/2877816

埃雷兹Benari,IIS PM

+0

有趣。希望它可以进入IIS 8.5或9 :) – jjxtra 2013-12-17 23:31:32

+0

下载链接已打破一年多了。我们如何获得修补程序? – Dmitry 2015-04-01 02:24:55

+0

也许它现在包含在iis中? – Daniel 2015-06-05 07:24:02