En-têtes personnalisés <customHeaders>
Vue d’ensemble
L'élément <customHeaders>
de l'élément <httpProtocol>
spécifie des en-têtes HTTP personnalisés que Internet Information Services (IIS) 7 retourne dans les réponses HTTP depuis le serveur web.
Remarque
Les en-têtes HTTP sont des paires de nom et valeur retournées dans les réponses depuis un serveur web. Les en-têtes de réponse personnalisés sont envoyés au client avec l'en-tête HTTP par défaut. Contrairement aux en-têtes de réponse de redirection, qui sont renvoyés dans les réponses uniquement en cas de redirection, les en-têtes de réponse personnalisés sont renvoyés dans chaque réponse.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L'élément <customHeaders> n'a pas été modifié dans IIS 10.0. |
IIS 8.5 | L'élément <customHeaders> n'a pas été modifié dans IIS 8.5. |
IIS 8.0 | L'élément <customHeaders> n'a pas été modifié dans IIS 8.0. |
IIS 7.5 | L'élément <customHeaders> n'a pas été modifié dans IIS 7.5. |
IIS 7.0 | L'élément <customHeaders> de l'élément <httpProtocol> a été introduit dans IIS 7.0. |
IIS 6.0 | L'élément <customHeaders> remplace l'objet métabase IIS 6.0 HttpCustomHeaders. |
Programme d’installation
L'élément <customHeaders>
de l'élément <httpProtocol>
est inclus dans l'installation par défaut d'IIS 7.
Procédure
Comment définir des en-têtes HTTP personnalisés pour un site web ou une application
Ouvrez le Gestionnaire d'Internet Information Services (IIS) :
Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire d'Internet Information Services (IIS).
Si vous utilisez Windows 8 ou Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :
- Cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Vista ou Windows 7 :
- Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
- Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Dans le volet Connexions, accédez au site, à l'application ou au répertoire pour lequel vous souhaitez définir un en-tête HTTP personnalisé.
Dans le volet Accueil, double-cliquez sur En-têtes de réponse HTTP.
Dans le volet En-têtes de réponse HTTP, cliquez sur Ajouter... dans le volet Actions.
Dans la boîte de dialogue Ajouter un en-tête de réponse HTTP personnalisé, définissez le nom et la valeur de votre en-tête personnalisé, puis cliquez sur OK.
Configuration
Attributs
Aucune.
Éléments enfants
Élément | Description |
---|---|
add |
Élément facultatif. Ajoute un en-tête de réponse personnalisé à la collection <customHeaders> . |
clear |
Élément facultatif. Supprime toutes les références aux en-têtes de réponse personnalisés de la collection <customHeaders> . |
remove |
Élément facultatif. Supprime une référence à un en-tête de réponse personnalisé de la collection <customHeaders> . |
Exemple Configuration
L'exemple de configuration suivant définit un en-tête et une valeur HTTP personnalisés.
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Custom-Name" value="MyCustomValue" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Remarque
L'élément <httpProtocol>
par défaut suivant est configuré dans le fichier ApplicationHost.config dans IIS 7.
<httpProtocol>
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
</customHeaders>
<redirectHeaders>
<clear />
</redirectHeaders>
</httpProtocol>
Exemple de code
Les exemples de code suivants définissent un en-tête et une valeur HTTP personnalisés.
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()
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour