来源:http://www.lidongkui.com/asp-net-mvc-3-website-optimization-summary-accept-encoding-header
继续进行 ASP.NET MVC 3 网站优化工作,使用 Google Page 检测发现提示 You should Specify Vary: Accept-Encoding header,The following publicly cacheable, compressible resources should have a "Vary: Accept-Encoding" header。
相信很多人遇到过这个问题,它是什么意思呢?网上找到的资料为:
原来对CSS和JS文件开启Gzip后,会输出两份文件:Gzip压缩过的、未经Gzip压缩的,这样一来不仅没加快网页加载速度,反而更慢了;而 Vary: Accept-Encoding header 的作用就是指定输出压缩过的那部分文件。这样一来,Gzip压缩才算是真正起了作用。
解决的方法为在 configuration 节点下添加下边的代码片断即可:
<configuration> <system.webServer> <httpProtocol> <customHeaders> <remove name="Vary"></remove> <add name="Vary" value="Accept-Encoding"></add> </customHeaders> </httpProtocol> </system.webServer> </configuration>
重新运行网站,发现此问题已经解决,如下图:

这样我们的 ASP.NET MVC 3 网站性能又提升了一下,下篇我们会看看 ASP.NET MVC 3 中缓存的使用。

本文探讨了在ASP.NET MVC3网站优化过程中遇到的问题,即当对CSS和JS文件开启Gzip后,出现两份文件导致加载速度反而减慢的情况。通过解析Vary:Accept-Encoding header的作用,本文提供了解决方案,并演示了如何在configuration节点下添加代码片段以解决此问题,从而使得Gzip真正发挥作用,提升了网站性能。
3676

被折叠的 条评论
为什么被折叠?



