none
如何全面地去控制ASP.NET Response 的所有Headers信息? RRS feed

  • 问题

  • Chrome抓的头信息:
    Cache-Control:private
    Content-Encoding:gzip
    Content-Length:1467
    Content-Type:text/html; charset=utf-8
    Date:Fri, 10 Jun 2011 08:38:01 GMT
    Server:Microsoft-IIS/7.5
    Vary:Accept-Encoding
    X-AspNet-Version:4.0.30319
    X-Powered-By:ASP.NET
    X-SourceFiles:=?UTF-8?B?RDpcU1ZOX1dvcmtGb2xkZXJcZG90TmV0RFJcUHJvamVjdFxDb2RlXEFzc2Vzc21lbnRTeXNfSEdcQXNzZXNzbWVudFN5cy5XZWJVSVxFbXBsb3llZVxVcGRhdGU=?=
    ---------------
    比较关心的是X-SourceFiles的移除!
    还有就是有什么工具可以解码base64的X-SourceFiles值.我用在线的base64解码器解不出来.
    X-Powered-By, X-AspNet-Version我会移出掉.~
    所以请问有没有方法全面地去控制这些头信息的输出,能移除或者修改那就最好不过了!
    谢谢

    QQ:261621172 http://highend.cnblogs.com 天杀下来的BUG,不怕有我来挡!
    2011年6月10日 8:45

答案

  • 你好,如果是IIS加上去的header,可能没法在你的application中修改,因为它是在程序执行的后阶段才加上去的。

    一般这个X-SourceFiles会在你本地开发的时候出现,当你部署到真正的server上去的时候,就不出现了。


    • 已标记为答案 dotNetDR_ 2011年6月16日 3:13
    2011年6月16日 3:03
    版主

全部回复

  • 3天了.~~0回复啊~有木有,有木有~这确实是很难的问题啊~~~~
    QQ:261621172 http://highend.cnblogs.com 天杀下来的BUG,不怕有我来挡!
    2011年6月13日 6:10
  •       HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(uribox.Text.Trim());
          HttpWebResponse hwrsp=(HttpWebResponse)hwr.GetResponse();
          WebHeaderCollection whc = hwrsp.Headers;
          
          whc.Remove("...");
    


    虚心学习,学以致用
    2011年6月13日 7:16
  • HttpContext.Request as HttpWebRequest

     

    IDE都报错了.

     

    一个System.Web

    一个System.Net

    大哥....发贴请帮我检测检测!


    QQ:261621172 http://highend.cnblogs.com 天杀下来的BUG,不怕有我来挡!
    2011年6月13日 7:23
  • using System;
    
    using System.Collections.Generic;
    
    using System.Linq;
    
    using System.Web;
    
    using System.Web.UI;
    
    using System.Web.UI.WebControls;
    
    using System.Net;
    
    
    
    public partial class _Default : System.Web.UI.Page
    
    {
    
     protected void Page_Load(object sender, EventArgs e)
    
     {
    
      HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com/");
    
      HttpWebResponse hwrsp = (HttpWebResponse)hwr.GetResponse();
    
      WebHeaderCollection whc = hwrsp.Headers;
    
      whc.Remove("X-Powered-By");
    
      for (int i = 0; i < whc.Count; i++)
    
      {
    
       Response.Write(whc.GetKey(i) + " = " + whc.Get(i) + "<br/>");
    
      }
    
     }
    
    }
    
    
    
    
    检测过了,没问题!
    2011年6月13日 8:50
  • - -!我没说清楚~~我意思是让自己的IIS输出到客户端的Response的头的信息完全自我控制.~~不是说那个System.Net!

     

    你这段代码虽然我没运行..但是你是直接访问http://www.microsoft.com/ 你移除的只是在客户端上的头.~~事实上你的

    this.Response的头还是一点都没动过!所以也没负责我的主题内的要求啊.

     


    QQ:261621172 http://highend.cnblogs.com 天杀下来的BUG,不怕有我来挡!
    2011年6月13日 8:59
  • 实现IHttpMoudle 实现Init(HttpApplication context)

     

    对context.Reponse 增加headers

    2011年6月14日 3:10
    版主
  • X-SourceFiles

    这个系统带的头能移除掉么?

    不然人家一看就知道是IIS了.


    QQ:261621172 http://highend.cnblogs.com 天杀下来的BUG,不怕有我来挡!
    2011年6月14日 3:12
  • 你好,如果是IIS加上去的header,可能没法在你的application中修改,因为它是在程序执行的后阶段才加上去的。

    一般这个X-SourceFiles会在你本地开发的时候出现,当你部署到真正的server上去的时候,就不出现了。


    • 已标记为答案 dotNetDR_ 2011年6月16日 3:13
    2011年6月16日 3:03
    版主