Share via


Intestazioni <personalizzateHeaders>

Panoramica

L'elemento <customHeaders> dell'elemento <httpProtocol> specifica intestazioni HTTP personalizzate che Internet Information Services (IIS) 7 restituirà nelle risposte HTTP dal server Web.

Nota

Le intestazioni HTTP sono coppie nome e valore restituite nelle risposte da un server Web. Le intestazioni di risposta personalizzate vengono inviate al client insieme all'intestazione HTTP predefinita. A differenza delle intestazioni di risposta di reindirizzamento, che vengono restituite nelle risposte solo quando si verifica il reindirizzamento, le intestazioni di risposta personalizzate vengono restituite in ogni risposta.

Compatibilità

Versione Note
IIS 10.0 L'elemento <customHeaders> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <customHeaders> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <customHeaders> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <customHeaders> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <customHeaders> dell'elemento <httpProtocol> è stato introdotto in IIS 7.0.
IIS 6.0 L'elemento <customHeaders> sostituisce l'oggetto metabase HttpCustomHeaders di IIS 6.0.

Installazione

L'elemento <customHeaders> dell'elemento è incluso nell'installazione <httpProtocol> predefinita di IIS 7.

Procedure

Come impostare intestazioni HTTP personalizzate per un sito Web o un'applicazione

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows 8 o Windows 8.1:

      • Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
      • Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni passare al sito, all'applicazione o alla directory per cui si vuole impostare un'intestazione HTTP personalizzata.

  3. Nel riquadro Home fare doppio clic su Intestazioni risposta HTTP.
    Screenshot che mostra il riquadro Home con intestazioni di risposta H T T P selezionate.

  4. Nel riquadro Intestazioni risposta HTTP fare clic su Aggiungi nel riquadro Azioni .
    Screenshot del riquadro Intestazioni risposta H T T P con l'opzione Aggiungi visualizzata nel riquadro Azioni.

  5. Nella finestra di dialogo Aggiungi intestazione risposta HTTP personalizzata impostare il nome e il valore per l'intestazione personalizzata e quindi fare clic su OK.
    Screenshot della finestra di dialogo Aggiungi intestazione T T T PERSONALIZZATA con campi per nome e valore per l'intestazione personalizzata.

Configurazione

Attributi

Nessuno.

Elementi figlio

Elemento Descrizione
add Elemento facoltativo.

Aggiunge un'intestazione di risposta personalizzata alla <customHeaders> raccolta.
clear Elemento facoltativo.

Rimuove tutti i riferimenti alle intestazioni di risposta personalizzate dalla <customHeaders> raccolta.
remove Elemento facoltativo.

Rimuove un riferimento a un'intestazione di risposta personalizzata dalla <customHeaders> raccolta.

Esempio di configurazione

Nell'esempio di configurazione seguente viene impostata un'intestazione e un valore HTTP personalizzati.

<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <add name="X-Custom-Name" value="MyCustomValue" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>

Nota

L'elemento predefinito <httpProtocol> seguente viene configurato nel file ApplicationHost.config in IIS 7.

<httpProtocol>
   <customHeaders>
      <clear />
      <add name="X-Powered-By" value="ASP.NET" />
   </customHeaders>
   <redirectHeaders>
      <clear />
   </redirectHeaders>
</httpProtocol>

Codice di esempio

Gli esempi di codice seguenti impostano un'intestazione e un valore HTTP personalizzati.

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