paramètres de Registre Http.sys pour Windows
Cet article décrit Http.sys paramètres de Registre pour Windows.
Version du produit d’origine : Windows 8, Windows Server 2012, 2008 R2, 2008
Numéro de 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 des 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 WARNING (le cas échéant)
Note
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 la connaissance du Registre et des risques qui sont impliqués lors de la modification du Registre.
Clés de Registre
Important
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, vérifiez que vous suivez ces étapes attentivement. Pour une protection supplémentaire, sauvegardez le Registre avant de le modifier. Ensuite, vous pouvez restaurer le Registre si un problème se produit. Pour plus d’informations sur la sauvegarde et la restauration du registre, voir : Procédure de sauvegarde, de modification et de restauration du 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é de registre | Valeur par défaut | Plage de valeurs valide | Fonction de clé de Registre | CODE WARNING |
---|---|---|---|---|
AllowRestrictedChars | 0 | Booléen | Si ce n’est pas différent de zéro, Http.sys accepte des caractères hexadécimaux dans les URL de requête qui décodent en U+0000 - U+001F et U+007F - U+009F plages. | 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 de pool non paginée sont disponibles. Après avoir ajouté cette valeur au Registre, le service HTTP cesse d’accepter des connexions lorsque moins de 8 Mo de mémoire de pool non paginée est disponible. 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 | Booléen | Si zéro, Http.sys accepte uniquement les URL codées en UTF-8. Si ce n’est pas différent de zéro, Http.sys accepte également les URL encodées ANSI ou DBCS dans les requêtes. | 0 |
FavorUTF8 | 1 | Booléen | Si ce n’est pas différent de zéro, Http.sys essaie toujours de décoder une URL en tant qu’UTF-8 en premier ; si cette conversion échoue et EnableNonUTF8 est différente de zéro, Http.sys tente ensuite de le décoder en tant qu’ANSI ou DBCS. Si zéro (et EnableNonUTF8 n’est pas différent de zéro), Http.sys tente de le décoder en tant qu’ANSI ou DBCS ; s’il n’est pas réussi, il tente une conversion UTF-8. |
0 |
MaxBytesPerSend | 65536 | 1-0xFFFFF (octets) | Remplace la taille de la 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 | 1024 (1 ko) - connexions 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 la valeur maximale est calculée à partir de la mémoire disponible. | 1 |
MaxFieldLength | 16384 | 64 - 65534 (64k - 2) octets | Définit une limite supérieure pour chaque en-tête. Consultez l’article MaxRequestBytes . 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 de la taille totale de la ligne de 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 | Booléen | Si elle n’est pas nulle, 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 zéro, le nombre limité par la valeur maximale d’un ULONG . |
1 |
UriEnableCache | 1 | Booléen | Si ce n’est pas différent de zéro, la réponse Http.sys et le cache de fragments 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’échasseur de cache. Toute réponse ou fragment qui n’a pas été accédé au nombre de secondes égale à UriScavengerPeriod est vidée. |
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 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 le comportement de http.sys 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. Une valeur 0, qui est la valeur par défaut, utilise la valeur d’en-tête que l’application fournit pour 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 (les réponses se terminant par 400, 503 et d’autres codes d’état). La valeur 2 empêche http.sys d’ajouter un en-tête de serveur à la réponse. Si un en-tête de serveur est présent sur la réponse, il n’est pas supprimé, s’il n’est pas présent, il n’est pas ajouté. |
0 |
Vous pouvez rencontrer des performances lentes dans Internet Information Services (IIS) quand des applications ISAPI (Internet Server API) ou des applications CGI (Common Gateway Interface) hébergées sur des réponses d’envoi IIS. 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é de registre | Valeur par défaut | Plage de valeurs valide | Fonction de clé de Registre | CODE WARNING |
---|---|---|---|---|
CertChainCacheOnlyUrlRetrieval | 1 | 0 1 |
Par défaut, les indicateurs AIA ne sont pas suivis lors de la validation de chaîne lorsque IIS est configuré pour utiliser des certificats clients. Ce comportement concerne les performances et les raisons de sécurité. Par exemple, ce comportement peut aider à prévenir les attaques DoS. Toutefois, ce comportement peut également entraîner des rejets inattendus de certificat 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 plus 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, cela 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’avez 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 :
Sélectionnez Démarrer, sélectionner Exécuter, taper Cmd, puis OK.
À l'invite de commandes, tapez
net stop http
, puis appuyez sur Entrée.À l'invite de commandes, tapez
net start http
, puis appuyez sur Entrée.À l'invite de commandes, tapez
net stop iisadmin /y
, puis appuyez sur Entrée.Note
Tous les services IIS qui dépendent du service d’administration IIS sont également arrêtés. Notez que les services IIS qui sont arrêtés lorsque vous arrêtez le service service d’administration IIS. Vous redémarrez chaque service à l’étape suivante.
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, le nom de service est le nom du service que vous souhaitez redémarrer. Par exemple, pour redémarrer le service World Wide Web Publishing Service, tapeznet start World Wide Web Publishing Service
, puis appuyez sur Entrée.