Partager via


Paramètres de protocole HTTP <httpProtocol>

Vue d’ensemble

L'élément <httpProtocol> configure les connexions toujours actives HTTP, ainsi que les en-têtes de réponse personnalisés et de redirection envoyés par Internet Information Services (IIS) 7 aux clients web.

Un navigateur initie généralement plusieurs requêtes pour télécharger une page web entière. Pour améliorer les performances du serveur, la plupart des navigateurs web requêtent au serveur de maintenir la connexion ouverte lors de ces multiples requêtes, ce qui est une fonction connue sous le nom de HTTP toujours actives. En l'absence d'HTTP toujours actives, un navigateur qui initie de nombreuses requêtes pour une page contenant plusieurs éléments, comme des graphiques, pourrait avoir besoin d'une connexion distincte pour chaque élément. Ces requêtes et connexions supplémentaires nécessitent une activité et des ressources de serveur supplémentaires, ce qui réduit l'efficacité du serveur. Les connexions supplémentaires rendent également un navigateur beaucoup plus lent et moins réactif, en particulier sur une connexion lente.

Compatibilité

Version Notes
IIS 10.0 L'élément <httpProtocol> n'a pas été modifié dans IIS 10.0.
IIS 8.5 L'élément <httpProtocol> n'a pas été modifié dans IIS 8.5.
IIS 8.0 L'élément <httpProtocol> n'a pas été modifié dans IIS 8.0.
IIS 7.5 L'élément <httpProtocol> n'a pas été modifié dans IIS 7.5.
IIS 7.0 L'élément <httpProtocol> a été introduit dans IIS 7.0.
IIS 6.0 L'attribut allowKeepAlive de l'élément <httpProtocol> remplace la propriété de métabase IIS 6.0 AllowKeepAlive.

Programme d’installation

L'élément <httpProtocol> est inclus dans l'installation par défaut d'IIS 7.

Procédure

Comment activer les conservations HTTP pour un site web ou une application

  1. 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).
  2. Dans le volet Connexions, accédez au site, à l'application ou au répertoire pour lequel vous souhaitez activer la conservation HTTP.

  3. Dans le volet Accueil, double-cliquez sur En-têtes de réponse HTTP.
    Screenshot of the Default Web Site Home page. The H T T P Response Headers icon is highlighted.

  4. Dans le volet En-têtes de réponse HTTP, cliquez sur Définir les en-têtes communs... dans le volet Actions.
    Screenshot of the H T T P Response Headers page.

  5. Dans la boîte de dialogue Définir les en-têtes de réponse HTTP communs, cochez la case pour activer les conservations HTTP, puis cliquez sur OK.
    Screenshot of the Set Common H T T P Response Headers dialog box.

Configuration

Attributs

Attribut Description
allowKeepAlive Attribut booléen facultatif.

Spécifie si le traitement de la conservation est autorisé (vrai) ou non (faux).

La valeur par défaut est true.

Éléments enfants

Élément Description
customHeaders Configure les en-têtes de réponse personnalisés retournés dans les réponses du serveur web.
redirectHeaders Configure les en-têtes de réponse retournés dans les réponses uniquement lorsque le serveur web redirige les requêtes.

Exemple Configuration

Les exemples de code suivants activent les conservations HTTP pour le site web par défaut.

<configuration>
   <system.webServer>
      <httpProtocol allowKeepAlive="true" />
   </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 activent les conservations HTTP pour le site web par défaut.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/httpProtocol /allowKeepAlive:"True"

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");
         httpProtocolSection["allowKeepAlive"] = true;

         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")
      httpProtocolSection("allowKeepAlive") = True

      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");
httpProtocolSection.Properties.Item("allowKeepAlive").Value = true;

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")
httpProtocolSection.Properties.Item("allowKeepAlive").Value = True

adminManager.CommitChanges()