ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源: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>

重新运行网站,发现此问题已经解决,如下图:

Specify a Vary: Accept-Encoding header

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值