ASP.NET MVC 项目设置,移除多余的响应头,woff,woff2 字体文件请求处理


移除 X-AspNetMvc-Version

在 Global.asax 的 Application_Start添加代码 

MvcHandler.DisableMvcResponseHeader = true; 

移除 X-AspNet-Version

在 web.config 下的 system.web 节点下设置 enableVersionHeader=false

移除 X-Powered-By

在 web.config 下的 system.webServer 添加 一下代码


    
      
        
      
    

移除 Server

有两种方式,以下方式任选其中一个。

1. 在 global.asax 重写 Application_PreSendRequestHeaders 方法

protected void Applcation_PreSendRequestHeaders(object sender, EventArgs e)
        {
            var application = sender as HttpApplication;
            if (application != null && application.Context != null)
            {
                application.Context.Response.Headers.Remove("Server");
                //application.Context.Response.Headers.Set("Server", "MY Server");
            }
        }

2. 新建一个 HttpMoudle 来处理

public class SiteHeaderMoudle : IHttpModule
    {
        public void Dispose()
        {
        }

        public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += context_PreSendRequestHeaders;
        }

        private void context_PreSendRequestHeaders(object sender, EventArgs e)
        {
            HttpContext.Current.Response.Headers.Remove("Server");
        }
    }

然后再 webconfig 文件中注册


    
      
        "X-Powered-By" />
      
    
    "true">
      "SiteHeaderMoudle" type="MY.web.Extended.SiteHeaderMoudle"/>  // 注意类的命名空间
    
    
      
      ".woff" />
      ".woff" mimeType="application/font-woff" />
      ".woff2" />
      ".woff2" mimeType="application/font-woff2" />
    
  

其他设置,只保留 Razor 视图引擎

protected void Application_Start()
        {
            // Removing all the view engines
            ViewEngines.Engines.Clear();
            //Add Razor Engine (which we are using)
            ViewEngines.Engines.Add(new RazorViewEngine());
        }

参考文章

http://www.cnblogs.com/CareySon/archive/2009/12/14/1623624.html

https://blogs.technet.microsoft.com/stefan_gossner/2008/03/12/iis-7-how-to-send-a-custom-server-http-header/