ASP.NET MVC 3 网站优化总结(三)Specify Vary: 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 中缓存的使用。

时间: 2024-08-24 06:59:06

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

ASP.NET MVC 3 网站优化总结(六)压缩 HTML

压缩 html 可以去除代码中无用的空格等,这样可提高网站的加载速度并节省带宽.今天就让我们看看在 ASP.NET MVC 3 怎么实现 html 压缩,我们可通过实现 ActionFilter 来完成 html 的压缩. 其实我们在 ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩这篇文章中使用的就是这种方法,主要看看实现的 FilterAttribute 类: public class WhitespaceFilterAttribute : ActionFilterAtt

ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩

网站开启 Gzip 压缩的好处相信很多人都已经清楚,这样做可以提高网站的性能.那么为什么很多网站没有开启 Gzip 压缩功能呢?原因有4点:防病毒软件.浏览器 bug.网站代理和服务器未配置. 使用 IE6 时不会发送 Accept-Encoding 请求头,这样就不支持 Gzip 压缩功能了,所以这里号召大家使用 Google Chrome.在 ASP.NET MVC 3 中我们通过实现 ActionFilter 来实现,如下: public class CompressAttribute :

隐藏ASP.NET MVC的版本信息,使其不在HTTP Header中显示

隐藏ASP.NET MVC的版本信息,使其不在HTTP Header中显示. 一.隐藏:X-AspNetMvc-Version 在Global.asax文件的Application_Start方法中添加: MvcHandler.DisableMvcResponseHeader = true; 二.移除 Header 中的 Server 在Global.asax文件中添加: protected void Application_PreSendRequestHeaders(object sender

ASP.NET MVC实现网站验证码功能

转:http://www.cnblogs.com/liuxiaoji/p/4920382.html 网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录.灌水等危害网站的操作.验证码被广泛应用在注册.登录.留言等提交信息到服务器端处理的页面中. 在ASP.NET网站中应用验证码是很容易的,网上有很多的解决方案.最近在做一个OA项目,因系统采用的ASP.NET MVC框架,同样在登录页中需用到验证码,故需将原来在ASP.NET网站中使用的验证码移

ASP.NET MVC - 发布网站

原文地址:http://www.w3school.com.cn/aspnet/mvc_publish.asp 学习如何在不使用 Visual Web Developer 的情况下发布 MVC 应用程序. 在不使用  Visual Web Developer 的情况下发布您的应用程序 通过在 WebMatrix.Visual Web Developer 或 Visual Studio 中使用发布命令,可以将 ASP.NET MVC 应用程序发布到远程服务器. 该功能会复制所有应用程序文件.控制器.

Asp.Net MVC向视图View传值的三种方法

本文将总结Asp.Net MVC向视图View传值的三种常见的方法: -------------------------------------------------------------------------- 1.通过View( parameter )的参数传递 action: public ActionResult Index() { Person person=new Person("wumiao",18,175); return View("Index&quo

.net core Asp.net Mvc Ef 网站搭建 vs2017 1)

1)开发环境搭建 首先下载安装vs2017  地址 :https://www.visualstudio.com/zh-hans/downloads/ 安装勾选几项如下图 ,注意点在单个组件时.net core 运行时一定要勾上,很多人都没勾结果新增不了.net core 项目 2)开发 1.新增.net core mvc asp.net 2.新增Ef项目 首先通过nuget 安装三个依赖项 Install-Package Microsoft.EntityFrameworkCore.SqlServ

asp.net MVC 切换网站主题

首先要有一些定义后的CSS文件,本例是用Bootstrap作为前端框架,可以从http://bootswatch.com/网站上下载一些主题文件,也就是一些定义好的Bootstap.css的文件. 然后将这些文件放到网站中Content文件夹Themes 下,目录组织结构如图: 二.然后在网站根目录新建一个文件夹为Helper,在下面建立一个Bootstrap.cs文件. public class Bootstrap { public const string BundleBase = "~/C

ASP.NET MVC部署网站到IIS,只列出网站目录

解决办法: 1.重启IIS 打开CMD运行以下代码: ps:根据发布网站的的.NET Framework版本进入对应的目录 4.0版本  C:\Windows\Microsoft.NET\Framework\v4.0.30319 3.5版本 C:\Windows\Microsoft.NET\Framework\v3.5 2.0版本 C:\Windows\Microsoft.NET\Framework\v2.0.50727 如图,以4.0版本为例: 重启IIS,如图: 输入命令 iisreset