Ajout d’en-têtes personnalisés <add>
Vue d’ensemble
L’élément <add>
de l’élément <customHeaders>
spécifie un en-tête HTTP personnalisé que Internet Information Services (IIS) 7 retourne dans les réponses HTTP du serveur Web.
Remarque
Les en-têtes HTTP sont des paires nom et valeur retournées dans les réponses d’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 <add> n’a pas été modifié dans IIS 10.0. |
IIS 8.5 | L’élément <add> n’a pas été modifié dans IIS 8.5. |
IIS 8.0 | L’élément <add> n’a pas été modifié dans IIS 8.0. |
IIS 7.5 | L’élément <add> n’a pas été modifié dans IIS 7.5. |
IIS 7.0 | L’élément <add> de l’élément <customHeaders> a été introduit dans IIS 7.0. |
IIS 6.0 | L’élément <customHeaders> remplace l’objet de métabase IIS 6.0 HttpCustomHeaders. |
Programme d’installation
L’élément <add>
de l’élément <customHeaders>
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 des services Internet (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 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 des services Internet (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
Attribut | Description |
---|---|
name |
Attribut de chaîne requis. Spécifie un nom de champ pour l’en-tête de réponse personnalisé. Dans une réponse, un nom de champ précède la valeur de champ associée. |
Value |
Attribut de chaîne facultatif. Spécifie une valeur de champ pour l’en-tête de réponse personnalisé. Dans une réponse, une valeur de champ suit le nom de champ associé. |
Éléments enfants
Aucune.
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