Freigeben über


Hinzufügen benutzerdefinierter Header <add>

Übersicht

Das <add>-Element des <customHeaders>-Elements gibt einen benutzerdefinierten HTTP-Header an, den Internetinformationsdienste 7 (Internet Information Services, IIS) in HTTP-Antworten vom Webserver zurückgibt.

Hinweis

HTTP-Header sind Name-Wert-Paare, die in Antworten von einem Webserver zurückgegeben werden. Benutzerdefinierte Antwortheader werden zusammen mit dem HTTP-Standardheader an den Client gesendet. Im Gegensatz zu Umleitungsantwortheadern, die nur in Antworten zurückgegeben werden, wenn eine Umleitung erfolgt, werden benutzerdefinierte Antwortheader in jeder Antwort zurückgegeben.

Kompatibilität

Version Hinweise
IIS 10.0 Das <add>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <add>-Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <add>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <add>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <add>-Element des <customHeaders>-Elements wurde in IIS 7.0 eingeführt.
IIS 6.0 Das <customHeaders>-Element ersetzt das HttpCustomHeaders-Metabasisobjekt von IIS 6.0.

Setup

Das <add>-Element des <customHeaders>-Elements ist in der Standardinstallation von IIS 7 enthalten.

Gewusst wie

Festlegen benutzerdefinierter HTTP-Header für eine Website oder Anwendung

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
  2. Navigieren Sie im Bereich Verbindungen zu dem Element, für das Sie einen benutzerdefinierten HTTP-Header aktivieren möchten. Dabei kann es sich um eine Site, eine Anwendung oder ein Verzeichnis handeln.

  3. Doppelklicken Sie im Bereich Start auf HTTP-Antwortheader.
    Screenshot of the I I S Manager window displaying the Default Web Site Home page. THe icon for H T T P Response Headers is highlighted.

  4. Klicken Sie im Bereich HTTP-Antwortheader im Bereich Aktionen auf Hinzufügen....
    Screenshot of the I I S Manager window display the H T T P Response Headers page.

  5. Legen Sie im Dialogfeld Benutzerdefinierten HTTP-Antwortheader hinzufügen den Namen und den Wert für Ihren benutzerdefinierten Header fest, und klicken Sie dann auf OK.
    Screenshot of the Add Custom HTTP Response Header dialog box.

Konfiguration

Attribute

Attribut Beschreibung
name Erforderliches Zeichenfolgenattribut.

Gibt einen Feldnamen für den benutzerdefinierten Antwortheader an. In einer Antwort steht ein Feldname vor dem zugehörigen Feldwert.
Value Optionales Zeichenfolgeattribut.

Gibt einen Feldwert für den benutzerdefinierten Antwortheader an. In einer Antwort folgt ein Feldwert auf den zugehörigen Feldnamen.

Untergeordnete Elemente

Keine.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel werden ein benutzerdefinierter HTTP-Header und ein entsprechender Wert festgelegt.

<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <add name="X-Custom-Name" value="MyCustomValue" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>

Hinweis

Das folgende <httpProtocol>-Standardelement wird in IIS 7 in der Datei „ApplicationHost.config“ konfiguriert.

<httpProtocol>
   <customHeaders>
      <clear />
      <add name="X-Powered-By" value="ASP.NET" />
   </customHeaders>
   <redirectHeaders>
      <clear />
   </redirectHeaders>
</httpProtocol>

Beispielcode

In den folgenden Codebeispielen werden ein benutzerdefinierter HTTP-Header und ein entsprechender Wert festgelegt.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/httpProtocol /+"customHeaders.[name='X-Custom-Name',value='MyCustomValue']"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");
         ConfigurationSection httpProtocolSection = config.GetSection("system.webServer/httpProtocol");
         ConfigurationElementCollection customHeadersCollection = httpProtocolSection.GetCollection("customHeaders");

         ConfigurationElement addElement = customHeadersCollection.CreateElement("add");
         addElement["name"] = @"X-Custom-Name";
         addElement["value"] = @"MyCustomValue";
         customHeadersCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
      Dim httpProtocolSection As ConfigurationSection = config.GetSection("system.webServer/httpProtocol")
      Dim customHeadersCollection As ConfigurationElementCollection = httpProtocolSection.GetCollection("customHeaders")

      Dim addElement As ConfigurationElement = customHeadersCollection.CreateElement("add")
      addElement("name") = "X-Custom-Name"
      addElement("value") = "MyCustomValue"
      customHeadersCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var httpProtocolSection = adminManager.GetAdminSection("system.webServer/httpProtocol", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var customHeadersCollection = httpProtocolSection.ChildElements.Item("customHeaders").Collection;

var addElement = customHeadersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "X-Custom-Name";
addElement.Properties.Item("value").Value = "MyCustomValue";
customHeadersCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set httpProtocolSection = adminManager.GetAdminSection("system.webServer/httpProtocol", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set customHeadersCollection = httpProtocolSection.ChildElements.Item("customHeaders").Collection

Set addElement = customHeadersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "X-Custom-Name"
addElement.Properties.Item("value").Value = "MyCustomValue"
customHeadersCollection.AddElement(addElement)

adminManager.CommitChanges()