1. ホーム
  2. asp.net-mvc

[解決済み] ASP.Net MVC デフォルトの HTTP ヘッダーを削除する方法は?

2022-04-13 13:44:14

質問

私が作業しているMVCアプリケーションの各ページは、応答にこれらのHTTPヘッダを設定します。

X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 2.0

これらを表示させないようにするにはどうしたらよいですか?

解決方法は?

X-Powered-By は、IISのカスタムヘッダーです。IIS 7以降では、以下を追加することで削除できます。 web.config :

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <remove name="X-Powered-By" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

このヘッダーは、必要に応じて変更することができます。 http://www.iis.net/ConfigReference/system.webServer/httpProtocol/customHeaders


これを web.config を取り除くために X-AspNet-Version ヘッダを作成します。

<system.web>
  <httpRuntime enableVersionHeader="false" />
</system.web>


最後に X-AspNetMvc-Version を編集します。 Global.asax.cs の中に以下を追加してください。 Application_Start イベントを作成します。

protected void Application_Start()
{
    MvcHandler.DisableMvcResponseHeader = true;
}


また、実行時にヘッダを変更するために Application_PreSendRequestHeaders イベント Global.asax.cs . これは、ヘッダーの値が動的である場合に便利です。

protected void Application_PreSendRequestHeaders(object source, EventArgs e)
{
      Response.Headers.Remove("foo");
      Response.Headers.Add("bar", "quux");
}