Adición de encabezados personalizados <add>
Información general
El elemento <add>
del elemento <customHeaders>
especifica un encabezado HTTP personalizado que Internet Information Services (IIS) 7 devolverá en las respuestas HTTP del servidor web.
Nota:
Los encabezados HTTP son pares de nombre y valor que se devuelven en las respuestas de un servidor web. Los encabezados de respuesta personalizados se envían al cliente junto con el encabezado HTTP predeterminado. A diferencia de los encabezados de respuesta de redireccionamiento, que se devuelven en las respuestas solo cuando se produce el redireccionamiento, los encabezados de respuesta personalizados se devuelven en cada respuesta.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <add> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <add> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <add> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <add> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <add> del elemento <customHeaders> se introdujo en IIS 7.0. |
IIS 6,0 | El elemento <customHeaders> reemplaza al objeto de metabase HttpCustomHeaders de IIS 6.0. |
Configuración
El elemento <add>
del elemento <customHeaders>
se incluye en la instalación predeterminada de IIS 7.
Procedimientos
Establecimiento de encabezados HTTP personalizados para un sitio o aplicación web
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones, vaya al sitio, aplicación o directorio para los que desea establecer un encabezado HTTP personalizado.
En el panel Inicio, haga doble clic en Encabezados de respuesta HTTP.
En el panel Encabezados de respuesta HTTP, haga clic en Agregar... en el panel Acciones.
En el cuadro de diálogo Agregar encabezado de respuesta HTTP personalizado, establezca el nombre y el valor del encabezado personalizado y, a continuación, haga clic en Aceptar.
Configuración
Atributos
Atributo | Descripción |
---|---|
name |
Atributo de cadena necesario. Especifica un nombre de campo para el encabezado de respuesta personalizado. En una respuesta, un nombre de campo precede al valor de campo relacionado. |
Value |
Atributo de cadena opcional. Especifica un valor de campo para el encabezado de respuesta personalizado. En una respuesta, un valor de campo sigue el nombre de campo relacionado. |
Elementos secundarios
Ninguno.
Ejemplo de configuración
En el ejemplo de configuración siguiente se establece un encabezado y un valor HTTP personalizados.
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Custom-Name" value="MyCustomValue" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Nota:
El siguiente elemento predeterminado <httpProtocol>
está configurado en el archivo ApplicationHost.config en IIS 7.
<httpProtocol>
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
</customHeaders>
<redirectHeaders>
<clear />
</redirectHeaders>
</httpProtocol>
Código de ejemplo
En los ejemplos de código siguientes se establece un encabezado y un valor HTTP personalizados.
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()