标准ASP.NET标头出现在哪里?

时间:2011-02-08 12:11:15

标签: .net asp.net iis

我正在尝试调试one specific issue with ASP.NET application,我想问题可能出现在服务器配置中。

具体而言,标准ASP.NET标头将发送到客户端,而不是由ASP.NET应用程序

制作的标头
Date: Fri, 04 Feb 2011 12:15:04 GMT
Server: Microsoft-IIS/5.1
X-Powered-By: ASP.NET

我的问题是 - 这个标题来自哪里?谁负责生产并将其发送给客户?为什么会被发送到客户端而不是应用程序制作的那个?

4 个答案:

答案 0 :(得分:3)

这是Custom HTTP Header,是网站IIS设置的一部分;

  

自定义HTTP标头

     

您可以使用此属性发送   来自Web服务器的自定义HTTP标头   到客户端浏览器。自定义标题   可用于发送指令   Web服务器到客户端浏览器   尚未得到支持的   当前的HTTP规范,例如   IIS可能没有的新HTTP标头   在当时的固有支持   产品发布。例如,你   可以使用自定义HTTP标头来允许   客户端浏览器缓存页面   但阻止代理服务器缓存   页面。

X-Powered-By:除非你删除它,否则ASP.NET默认存在。我假设它在发送响应之前作为HTTP响应管道的一部分添加。

答案 1 :(得分:2)

检查应用程序的IIS网站标题设置。你可以在那里删除它。

编辑: 根据您对问题的编辑,如果您想要以编程方式删除X-Powered-By HTTP标头,则可以在IIS 7上使用集成管道。见http://www.4guysfromrolla.com/articles/120209-1.aspx。请参阅文章中的此部分:

  

删除服务器HTTP标头   服务器标头会自动添加   到IIS的传出响应。至   从IIS 6或IIS 7中删除此标头   你可以使用微软免费的UrlScan   效用。如果您使用的是IIS 7   综合管道,你可以   或者删除Server标头   以编程方式通过HTTP   模块。 Stefan Grobner的博客文章,   IIS 7 - 如何发送自定义“服务器”   HTTP标头,显示修改的代码   服务器标头。简而言之,你   需要创建一个HTTP模块   为。创建一个事件处理程序   PreSendRequestHeaders事件。在那里面   事件处理程序你写的代码类似   以下删除服务器   头:

     

HttpContext.Current.Response.Headers.Remove( “服务器”);   Howard von Rooijen有类似的,更多   深入考虑删除   服务器HTTP标头(和其他   通过HTTP识别标题   使用IIS 7及其时的模块   集成管道模式。见隐藏   您的ASP.NET MVC Web应用程序   IIS 7了解更多详情。

答案 2 :(得分:1)

它来自IIS。您可以在HTTP响应标题部分中看到它。

答案 3 :(得分:1)

IIS负责此事。你可以在这里删除它

post说明了IIS 6和更新版本中的更改位置。上述