ADC

Paramètres par défaut pour le cache intégré

La fonctionnalité de cache intégré de NetScaler fournit des politiques intégrées avec des paramètres par défaut et des paramètres initiaux pour le groupe de contenus par défaut. Les informations de cette section définissent les paramètres des politiques intégrées et du groupe de contenus par défaut.

Politiques de mise en cache par défaut

Le cache intégré comporte des politiques intégrées. L’appliance NetScaler évalue les politiques dans un ordre particulier, comme indiqué dans les sections suivantes.

Vous pouvez remplacer ces politiques intégrées par une politique définie par l’utilisateur qui est liée à une banque de règles de remplacement au moment de la demande ou au temps de réponse.

Remarque Si vous avez configuré des stratégies avant la version 9.0 et que vous avez spécifié le paramètre -precedeDefRules lors de la liaison des stratégies, elles sont automatiquement affectées aux points de liaison de dépassement pendant la migration.

Afficher les politiques par défaut

Les noms des politiques intégrés commencent par un trait de soulignement (_). Vous pouvez consulter les politiques intégrées à partir de la ligne de commande et de la console d’administration à l’aide de la commande show cache policy.

Politiques de demande par défaut

Vous pouvez remplacer les politiques de délai de requête intégrées suivantes en configurant de nouvelles politiques et en les liant au point de traitement de la dérogation au moment de la demande. Dans les politiques suivantes, notez que l’action MAY_NOCACHE stipule que la transaction est mise en cache uniquement lorsqu’il existe une directive CACHE configurée par l’utilisateur ou intégrée au moment de la réponse.

Les politiques suivantes sont liées à l’étiquette de politique _reqBuiltInDefaults. Ils sont classés par ordre de priorité.

Ne mettez pas en cache une réponse pour une requête utilisant une méthode autre que GET.

Le nom de la politique est _NongeTreq. Ce qui suit est la règle de stratégie :

!HTTP.REQ.METHOD.eq(GET)

Définissez une action NOCACHE pour une requête dont la valeur d’en-tête contient If-Match ou If-Unmodified-Since.

Le nom de la politique est _AdvancedConditionalReq. Ce qui suit est la règle de stratégie :

HTTP.REQ.HEADER("If-Match").EXISTS || HTTP.REQ.HEADER("If-Unmodified-Since").EXISTS

Définissez une action MAY_NOCACHE pour une demande avec les valeurs d’en-tête suivantes : Cookie, Authorization, Proxy-Authorization ou une demande contenant l’en-tête NTLM ou Negotiate.

Le nom de la politique est _PersonalizedReq. Ce qui suit est la règle de stratégie :

HTTP.REQ.HEADER("Cookie").EXISTS || HTTP.REQ.HEADER("Authorization").EXISTS || HTTP.REQ.HEADER("Proxy-Authorization").EXISTS || HTTP.REQ.IS_NTLM_OR_NEGOTIATE

Politiques de réponse par défaut

Vous pouvez remplacer les politiques de temps de réponse par défaut suivantes en configurant de nouvelles politiques et en les liant au point de traitement de remplacement du temps de réponse.

Les politiques suivantes sont liées à l’étiquette de politique _resBuiltInDefaults et sont évaluées dans l’ordre dans lequel elles sont répertoriées :

  1. Ne mettez pas en cache les réponses HTTP sauf si elles sont de type 200, 304, 307, 203 ou si les types sont compris entre 400 et 499 ou entre 300 et 302.

    Le nom de la politique est _UncacheableStatusRes. Ce qui suit est la règle de stratégie :

    !((HTTP.RES.STATUS.EQ(200)) || (HTTP.RES.STATUS.EQ(304)) || (HTTP.RES.STATUS.BETWEEN(400,499)) || (HTTP.RES.STATUS.BETWEEN(300, 302)) || (HTTP.RES.STATUS.EQ(307))|| (HTTP.RES.STATUS.EQ(203)))

  2. Ne mettez pas en cache une réponse HTTP si elle possède un en-tête Vary dont la valeur est autre que Accept-Encoding.

    Le module de compression insère l’en-tête Vary : Accept_Encoding. Le nom de cette expression est _UncacheableVaryRes. Ce qui suit est la règle de stratégie :

    ((HTTP.RES.HEADER("Vary").EXISTS) && ((HTTP.RES.HEADER("Vary").INSTANCE(1).LENGTH > 0) || (!HTTP.RES.HEADER("Vary").STRIP_END\_WS.SET_TEXT_MODE(IGNORECASE).eq("Accept-Encoding"))))

  3. Ne mettez pas en cache une réponse si la valeur de son en-tête Cache-Control est No-Cache, No-Store ou Private, ou si l’en-tête Cache-Control n’est pas valide.

    Le nom de la politique est _UncacheableCacheControlRes. Ce qui suit est la règle de stratégie :

    ((HTTP.RES.CACHE\_CONTROL.IS\_PRIVATE) || (HTTP.RES.CACHE\_CONTROL.IS\_NO\_CACHE) || (HTTP.RES.CACHE\_CONTROL.IS\_NO\_STORE) || (HTTP.RES.CACHE\_CONTROL.IS\_INVALID))

  4. Mache les réponses si l’en-tête Cache-Control possède l’une des valeurs suivantes : Public, Must-Revalidate, Proxy-Revalidate, Max-Age, S-Maxage.

    Le nom de la politique est _CacheableCacheControlRes. Ce qui suit est la règle de stratégie :

    ((HTTP.RES.CACHE_CONTROL.IS_PUBLIC) || (HTTP.RES.CACHE_CONTROL.IS_MAX_AGE) || (HTTP.RES.CACHE_CONTROL.IS_MUST_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_PROXY_REVALIDATE) || (HTTP.RES.CACHE_CONTROL.IS_S_MAXAGE))

  5. Ne mettez pas en cache les réponses qui contiennent un en-tête Pragma.

    Le nom de la politique est _UncacheablePragmares. Ce qui suit est la règle de stratégie :

    HTTP.RES.HEADER("Pragma").EXISTS

  6. Mettez en cache les réponses qui contiennent un en-tête Expires.

    Le nom de la politique est _CacheableExpiryRes. Ce qui suit est la règle de stratégie :

    HTTP.RES.HEADER("Expires").EXISTS

  7. Si la réponse contient un en-tête Content-Type dont la valeur est Image, supprimez tous les cookies de l’en-tête et mettez-le en cache.

    Le nom de la politique est _ImageRes. Ce qui suit est la règle de stratégie :

    HTTP.RES.HEADER("Content-Type").SET_TEXT_MODE(IGNORECASE).STARTSWITH("image/")

    Vous pouvez configurer le groupe de contenu suivant pour qu’il fonctionne avec cette politique :

    add cache contentgroup nocookie -group -removeCookies YES

  8. Ne mettez pas en cache une réponse contenant un en-tête Set-Cookie.

    Le nom de la politique est _ PersonalizedRes. Ce qui suit est la règle de stratégie :

    HTTP.RES.HEADER (« Définir le cookie ») .EXISTS

Restrictions relatives aux politiques par défaut

Vous ne pouvez pas remplacer les politiques de temps de demande intégrées suivantes par des politiques définies par l’utilisateur.

Ces politiques sont répertoriées par ordre de priorité.

  1. Ne mettez aucune réponse en cache si la requête HTTP correspondante ne possède pas de méthode GET ou POST.
  2. Ne mettez pas en cache les réponses à une demande si la longueur de l’URL de la requête HTTP plus le nom d’hôte dépassent 1744 octets.
  3. Ne mettez pas en cache une réponse à une demande contenant un en-tête If-Match.
  4. Ne mettez pas en cache une requête contenant un en-tête If-Unmodified-Since.

Remarque Ceci est différent de l’en-tête If-Modified-Since.

  1. Ne mettez pas en cache une réponse si le serveur ne définit pas d’en-tête d’expiration.

Vous ne pouvez pas remplacer les règles de temps de réponse intégrées suivantes. Ces politiques sont évaluées dans l’ordre dans lequel elles sont répertoriées :

  1. Ne mettez pas en cache les réponses dont le code d’état de réponse HTTP est 201, 202, 204, 205 ou 206.
  2. Ne mettez pas en cache les réponses dont le code d’état de réponse HTTP est 4xx, à l’exception des codes d’état 403, 404 et 410.
  3. Ne mettez pas en cache les réponses si le type de réponse est terminé par FIN ou si la réponse ne possède pas l’un des attributs suivants : longueur du contenu ou encodage de transfert : fragmenté.
  4. Ne mettez pas la réponse en cache si le module de mise en cache ne parvient pas à analyser son en-tête Cache-Control.

Paramètres initiaux du groupe de contenus par défaut

Lorsque vous activez la mise en cache intégrée pour la première fois, l’appliance NetScaler fournit un groupe de contenu prédéfini nommé groupe de contenu par défaut. Pour plus d’informations, consultez le tableau des paramètres par défaut du groupe de contenu .

Paramètres par défaut pour le cache intégré