如何在mvc中删除http响应头?

时间:2015-02-24 06:07:23

标签: html5 asp.net-mvc-4 http http-headers httpresponse

我想在mvc中删除http响应头。

  

HTTP / 1.1 404未找到缓存控制:私有内容类型:text / html;   charst = utf-8服务器:Microsoft-IIS / 8.0 X-Powered-By:ASP.NET日期:   星期一,23二月2015 12:43:58 GMT内容 - 长度:4898连接:   保持活动

我使用以下代码删除了Connection,X-Powered-By,Server,Cache-Control:

> 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响应标头?

1 个答案:

答案 0 :(得分:0)

请更新您的问题,并提供有关驱动您删除这些标题的原因的详细信息,因为这对我来说是一个非常不寻常的需求,尤其是content-type。可能结果你需要做别的事。

否则,请继续阅读。

尝试使用IISRewrite模块。它应该允许你让他们空白。 请参阅此answer或此more detailed one

如果删除它们确实是您所需要的,您可能必须编写自己的自定义isapi过滤器。有关此解决方案的一些信息,请参见other answer

对于他们中的许多人,您也可以考虑禁用添加它们的内容,而不是在添加后删除它们。有关它们的信息,请参阅my answer on this subject