Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Übersicht
Das <customHeaders>
-Element des <httpProtocol>
-Elements gibt benutzerdefinierte HTTP-Header an, die 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 <customHeaders> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <customHeaders> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <customHeaders> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <customHeaders> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <customHeaders> -Element des <httpProtocol> -Elements wurde in IIS 7.0 eingeführt. |
IIS 6.0 | Das <customHeaders> -Element ersetzt das HttpCustomHeaders-Metabasisobjekt von IIS 6.0. |
Setup
Das <customHeaders>
-Element des <httpProtocol>
-Elements ist in der Standardinstallation von IIS 7 enthalten.
Gewusst wie
Festlegen benutzerdefinierter HTTP-Header für eine Website oder Anwendung
Ö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).
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.
Klicken Sie im Bereich HTTP-Antwortheader im Bereich Aktionen auf Hinzufügen....
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.
Konfiguration
Attribute
Keine
Untergeordnete Elemente
Element | Beschreibung |
---|---|
add |
Optionales Element. Fügt der <customHeaders> -Sammlung einen benutzerdefinierten Antwortheader hinzu. |
clear |
Optionales Element. Entfernt alle Verweise auf benutzerdefinierte Antwortheader aus der <customHeaders> -Sammlung. |
remove |
Optionales Element. Entfernt einen Verweis auf einen benutzerdefinierten Antwortheader aus der <customHeaders> -Sammlung. |
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()