Compartir a través de


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

  1. 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).
  2. En el panel Conexiones, vaya al sitio, aplicación o directorio para los que desea establecer un encabezado HTTP personalizado.

  3. En el panel Inicio, haga doble clic en Encabezados de respuesta HTTP.
    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. En el panel Encabezados de respuesta HTTP, haga clic en Agregar... en el panel Acciones.
    Screenshot of the I I S Manager window display the H T T P Response Headers page.

  5. 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.
    Screenshot of the Add Custom HTTP Response Header dialog box.

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()