Instances dans lesquelles HTTP.sys ne met pas en cache le contenu

Cet article présente les instances où le pilote HTTP.sys ne met pas en cache le contenu.

Version du produit d’origine : Internet Information Services 8.0
Numéro de la base de connaissances d’origine : 817445

Situations où HTTP.sys ne met pas en cache

Le HTTP.sys cache de réponse met en cache toute requête avec l’indicateur approprié dans l’en-tête de requête. Ce cache est désactivé par demande. Toutefois, si une ou plusieurs des conditions suivantes sont remplies, HTTP.sys ne met pas en cache la réponse de la demande :

  • La demande n’est pas une requête anonyme.

  • La demande nécessite une authentification. (Par exemple, la requête contient un Authorization: en-tête.)

  • Le site web est configuré pour utiliser un pied de page.

  • La compression dynamique est activée et utilisée pour la réponse.

    Remarque

    La compression statique peut être utilisée avec HTTP.sys la mise en cache.

  • Le fichier statique est un fichier UNC (Universal Naming Convention) et la clé de DoDirMonitoringForUnc Registre n’est pas activée.

    Remarque

    Vous pouvez utiliser la propriété de DoDirMonitoringForUnc Registre (une valeur DWORD) pour rebasculer le cache de fichiers statiques vers un cache de notification de modification. Ce paramètre est défini comme suit : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Inetinfo\Parameters
    La valeur par défaut est 0 ou n’est pas activée. Elle peut être définie sur 1 pour activer la mise en cache du contenu statique en fonction de la notification de modification.

  • La requête contient une chaîne de requête.

  • Le cache est désactivé. (Autrement dit, la propriété de métabase MD_VR_NO_CACHE est égale à 1.)

    Remarque

    Plus d’informations sur la MD_VR_NO_CACHE propriété de métabase sont disponibles dans la documentation du produit. Pour afficher cette documentation, consultez DisableStaticFileCache.

  • La requête a un corps d’entité.

  • Le mappage de certificat est activé pour l’URL.

  • La journalisation personnalisée est activée pour le site web.

  • La version HTTP de la requête n’est pas 1.1 ou 1.0.

  • La demande contient un en-tête Translate: f.

  • Un Expect: en-tête qui ne contient pas exactement 100 continue est présent.

  • La requête contient un If-Range: en-tête ou un Range: en-tête.

    Remarque

    HTTP.sys traite uniquement les réponses entières. HTTP.sys n’essaie pas d’envoyer des réponses limitées.

  • La réponse s’étend sur plusieurs SendResponse appels et SendResponseEntityBody .

    Remarque

    Une réponse pouvant être mise en cache doit se trouver dans un seul appel vectoriel SendResponse .

  • La taille totale de la réponse est supérieure à la taille maximale par réponse. La valeur maximale est contrôlée par la clé de UriMaxUriBytes Registre et la valeur par défaut est 256 Ko.

  • La taille de l’en-tête de réponse est supérieure à la taille d’en-tête maximale par réponse. La valeur par défaut est 1 024 octets.

  • Le cache est déjà plein. La taille par défaut est proportionnelle à la mémoire physique de l’ordinateur.

  • La réponse est de longueur nulle.

  • Un filtre ISAPI (Internet Server Application Program Interface) qui ne prend pas en charge le cache est installé.

    Remarque

    Par défaut, les filtres ISAPI ne prennent pas en compte le cache. Vous devez définir la propriété de FilterEnableCache métabase pour le filtre afin qu’il prenne en charge le cache. Tous les filtres d’une installation par défaut d’IIS prennent en compte le cache. Cela inclut FrontPage et ASP.NET.
    Pour plus d’informations sur la FilterEnableCache propriété de métabase, consultez Nouveautés de Windows 10 déploiement.

  • Un fichier statique est accessible en tant que document par défaut. (Par exemple, Default.htm existe dans le répertoire racine.) L’accès au fichier spécifique par son nom (http://contoso.com/default.htm/) entraîne HTTP.syla mise en cache du fichier. L’accès au site web en demandant le dossier racine (http://contoso.com/) génère une réponse non mise en cache.

    Remarque

    Si la première page répertoriée dans la liste Document par défaut n’est pas accessible, IIS tente de servir la deuxième page de la liste Document par défaut. Dans ce cas, cette page statique ne sera pas servie à partir du cache.