2015-02-24 57 views
1

我想删除mvc中的http响应头。如何删除mvc中的http响应头?

HTTP/1.1 404 Not Found Cache-Control:private Content-Type:text/html; charst = utf-8服务器:Microsoft-IIS/8.0 X-Powered-by:ASP.NET日期: 2015年2月23日星期一12:43:58 GMT内容长度:4898连接数: Keep-Alive

我删除连接,X供电-通过,服务器,缓存控制与此代码:

> protected void Application_PreSendRequestHeaders(object sender,EventArgs e) 
> { 
> HttpContext.Current.Response.Headers.Remove("X-Powered-By"); 
> HttpContext.Current.Response.Headers.Remove("X-AspNet-Version"); 
> HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version"); 
> HttpContext.Current.Response.Headers.Remove("Server"); 
> HttpContext.Current.Response.Headers.Remove("Cache-Control"); 
> } 

,但我该怎么办去除所有的HTTP响应头?

+0

我无法删除日期,HTTP,内容类型,内容长度。请帮帮我。 – 2015-03-04 12:18:41

+0

请参阅此评论(不太好)[回复](http://stackoverflow.com/a/30160598/1178314),您的删除代码可能会导致服务器冻结。 – 2015-09-16 18:35:43

回答

0

请更新您的问题,并提供更多关于驱动您删除这些标题的原因的信息,因为这在我看来是一个非常不寻常的需求,特别是对于content-type。它可能会变成你需要做别的事情。

否则,请继续阅读。

尝试使用IISRewrite模块。它应该让你把它们留空。 看到这个answer或这more detailed one

如果删除它们真的是你需要的,你可能需要编写自己的定制isapi过滤器。在other answer上有关于此解决方案的一些信息。

对于其中的很多人,您可能还会考虑禁用添加它们的内容,而不是在添加它们后删除它们。见my answer on this subject为他们一堆。