Http.sys paramètres du Registre pour Windows

Cet article décrit Http.sys paramètres du Registre pour Windows.

Version d’origine du produit : Windows 8, Windows Server 2012, 2008 R2, 2008
Numéro de la base de connaissances d’origine : 820129

Résumé

Dans Windows Server 2008 et versions ultérieures, Http.sys est le pilote en mode noyau qui gère les requêtes HTTP (Hypertext Transfer Protocol). Plusieurs valeurs de Registre peuvent être configurées en fonction d’exigences spécifiques. Le tableau de la section Clés de Registre contient les informations suivantes sur ces valeurs de Registre :

  • Noms de clés de Registre
  • Valeurs par défaut
  • Plages de valeurs valides
  • Fonctions de clé de Registre
  • Codes AVERTISSEMENT (le cas échéant)

Remarque

Consultez la section Codes d’avertissement pour plus d’informations sur les risques potentiels lorsque vous créez et configurez des valeurs de Registre à l’aide de paramètres autres que les paramètres par défaut.

Cet article est destiné aux utilisateurs avancés et suppose une connaissance du registre et des risques impliqués lors de la modification du registre.

Clés du Registre

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, consultez l’article Comment sauvegarder et restaurer le Registre dans Windows.

Vous pouvez créer les valeurs de Registre DWORD suivantes sous la clé de Registre suivante :
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Clé du Registre Valeur par défaut Plage de valeurs valide Fonction de clé de Registre Code d’AVERTISSEMENT
AllowRestrictedChars 0 Boolean S’il est différent de zéro, Http.sys accepte les caractères d’échappement hexadécimal dans les URL de requête qui décodent en plages U+0000 - U+001F et U+007F - U+009F. 0
EnableAggressiveMemoryUsage 0 0
1
Préallouer la mémoire du pool non paginé. Par défaut, le service HTTP cesse d’accepter les connexions lorsque moins de 20 mégaoctets (Mo) de mémoire du pool non paginé sont disponibles. Après avoir ajouté cette valeur au Registre, le service HTTP cesse d’accepter les connexions lorsque moins de 8 Mo de mémoire du pool non paginé sont disponibles. La définition de cette valeur de Registre peut réduire le nombre d’erreurs Connections_refused et 503 dans le fichier Httperr.log . 0
EnableNonUTF8 1 Valeur booléenne Si la valeur est égale à zéro, Http.sys accepte uniquement les URL encodées en UTF-8. S’il est différent de zéro, Http.sys accepte également les URL encodées ANSI ou DBCS dans les requêtes. 0
FavorUTF8 1 Valeur booléenne Si ce n’est pas zéro, Http.sys essaie toujours de décoder une URL en UTF-8 en premier ; si cette conversion échoue et EnableNonUTF8 est différente de zéro, Http.sys tente de la décoder en tant qu’ANSI ou DBCS. Si zéro (et EnableNonUTF8 est différent de zéro), Http.sys tente de le décoder en tant qu’ANSI ou DBCS ; si cela échoue, il tente une conversion UTF-8. 0
MaxBytesPerSend 65536 1-0xFFFFF (octets) Remplace la taille de fenêtre TCP utilisée par Http.sys. Une valeur plus élevée peut permettre des vitesses de téléchargement plus élevées dans les environnements réseau qui ont une bande passante élevée et une latence élevée. 0
MaxConnections MAX_ULONG Connexions 1024 (1 Ko) - 2031616 (2 Mo) Remplace le MaxConnections calcul dans le pilote. Il s’agit principalement d’une fonction de mémoire. 1
MaxEndpoints 0 0 - 1024 Nombre maximal d’objets de point de terminaison actuels autorisés. La valeur par défaut de zéro implique que le maximum est calculé à partir de la mémoire disponible. 1
MaxFieldLength 16384 64 - 65534 (64 Ko - 2) octets Définit une limite supérieure pour chaque en-tête. Voir MaxRequestBytes (en anglais). Cette limite se traduit par environ 32 000 caractères pour une URL. 1
MaxRequestBytes 16384 256 - 16777216 (16 Mo) octets Détermine la limite supérieure pour la taille totale de la ligne Requête et des en-têtes.
Son paramètre par défaut est de 16 Ko. Si cette valeur est inférieure à MaxFieldLength, la MaxFieldLength valeur est ajustée.
1
PercentUAllowed 1 Valeur booléenne Si ce n’est pas zéro, Http.sys accepte la notation % uNNNN dans les URL de requête. 0
UrlSegmentMaxCount 255 0 - 16 383 segments Nombre maximal de segments de chemin d’URL. Si la valeur est égale à zéro, le nombre est limité par la valeur maximale d’un ULONG. 1
UriEnableCache 1 Valeur booléenne Si ce n’est pas zéro, le cache de réponse et de fragment Http.sys sont activés. 0
UriMaxUriBytes 262144 (octets) 4096 (4 Ko) - 16777216 (16 Mo) octets Toute réponse supérieure à cette valeur n’est pas mise en cache dans le cache de réponse du noyau. 1
3
UriScavengerPeriod 120 (secondes) 10 - 0xFFFFFFFF secondes Détermine la fréquence de l’assailleur de cache. Toute réponse ou tout fragment qui n’a pas été accessible dans le nombre de secondes égal à UriScavengerPeriod est vidé. 1
2
UrlSegmentMaxLength 260 0 - 32 766 caractères Nombre maximal de caractères dans un segment de chemin d’URL (zone entre les barres obliques de l’URL). Si la valeur est zéro, il s’agit de la longueur limitée par la valeur maximale d’un ULONG. 1
DisableServerHeader 0 0-2 Cette clé contrôle la façon dont http.sys se comporte en ce qui concerne l’ajout du serveur d’en-tête de réponse HTTP pour les réponses qu’il envoie aux clients. La valeur 0, qui est la valeur par défaut, utilise la valeur d’en-tête que l’application fournit à http.sys, ou ajoute la valeur par défaut de à l’en-tête de Microsoft-HTTPAPI/2.0 réponse. La valeur 1 n’ajoute pas l’en-tête serveur pour les réponses générées par http.sys (réponses se terminant par 400, 503 et autres codes status). La valeur 2 empêche http.sys d’ajouter un en-tête serveur à la réponse. Si un en-tête de serveur est présent dans la réponse, il n’est pas supprimé ; s’il n’en existe pas, il n’est pas ajouté. 0

Vous pouvez rencontrer des performances lentes dans les services IIS (Internet Information Services) lorsque des applications DE l’API De serveur Internet (ISAPI) ou des applications CGI (Common Gateway Interface) hébergées sur IIS envoient des réponses. Si vous rencontrez ce problème, vous pouvez ajouter la MaxBufferedSendBytes valeur DWORD au Registre.

Dans Windows Server 2008 et versions ultérieures, vous pouvez également créer la valeur DWORD suivante sous la clé de Registre suivante :
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters

Clé du Registre Valeur par défaut Plage de valeurs valide Fonction de clé de Registre Code d’AVERTISSEMENT
CertChainCacheOnlyUrlRetrieval 1 0
1
Par défaut, les indicateurs AIA ne sont pas suivis pendant la validation de chaîne lorsque IIS est configuré pour utiliser des certificats clients. Ce comportement est pour des raisons de performances et de sécurité. Par exemple, ce comportement peut aider à empêcher les attaques DoS. Toutefois, ce comportement peut également entraîner des rejet de certificat inattendus lorsque la récupération AIA est nécessaire. Pour remplacer ce comportement, vous pouvez définir le paramètre CertChainCacheOnlyUrlRetrieval DWORD sur 0 (zéro) sous la clé de HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters Registre. Non applicable

Codes d’avertissement

  • 0 : Aucun risque.
  • 1 : La modification de cette clé de Registre est considérée comme dangereuse. Cette clé entraîne Http.sys d’utiliser davantage de mémoire et peut augmenter la vulnérabilité aux attaques malveillantes.
  • 2 : Une valeur faible peut entraîner le vidage du cache plus fréquemment. Si ce comportement se produit, il peut affecter les performances.
  • 3 : Une valeur faible peut affecter les performances du contenu statique.

Les modifications apportées au Registre ne prendront pas effet tant que vous n’aurez pas redémarré le service HTTP. En outre, vous devrez peut-être redémarrer tous les services IIS associés.

Pour redémarrer le service HTTP, tapez et tous les services IIS associés, procédez comme suit :

  1. Sélectionnez Démarrer, Exécuter, tapez Cmd, puis sélectionnez OK.

  2. Dans l’invite de commandes, tapez net stop http, puis appuyez sur Entrée.

  3. Dans l’invite de commandes, tapez net start http, puis appuyez sur Entrée.

  4. Dans l’invite de commandes, tapez net stop iisadmin /y, puis appuyez sur Entrée.

    Remarque

    Tous les services IIS qui dépendent du service IIS Administration Service sont également arrêtés. Notez les services IIS qui sont arrêtés lorsque vous arrêtez le service IIS Administration Service. Vous allez redémarrer chaque service à l’étape suivante.

  5. Redémarrez les services IIS qui ont été arrêtés à l’étape 4. Pour ce faire, tapez net start servicename à l’invite de commandes, puis appuyez sur Entrée. Dans la commande , servicename est le nom du service que vous souhaitez redémarrer. Par exemple, pour redémarrer le service de publication World Wide Web, tapez net start World Wide Web Publishing Service, puis appuyez sur Entrée.