ADC

Expressions pour les en-têtes HTTP et de contrôle de cache

Une méthode courante d’évaluation du trafic HTTP consiste à examiner les en-têtes d’une requête ou d’une réponse. Un en-tête peut effectuer un certain nombre de fonctions, notamment les suivantes :

  • Fournissez des cookies qui contiennent des données sur l’expéditeur.
  • Identifiez le type de données transmises.
  • Identifiez l’itinéraire parcouru par les données (en-tête Via).

Remarque

Si une opération est utilisée pour évaluer les données d’en-tête et de texte, l’opération basée sur l’en-tête remplace toujours l’opération basée sur le texte. Par exemple, l’opération AFTER_STR, lorsqu’elle est appliquée à un en-tête, remplace les opérations AFTER_STR basées sur le texte pour toutes les instances du type d’en-tête actuel.

Préfixes pour les en-têtes HTTP

Le tableau Préfixes pour les en-têtes HTTP pour les préfixes d’expression qui extrait les en-têtes HTTP.

Opérations pour les en-têtes HTTP

Le tableau Opérations pour en-têtes HTTP pour les opérations que vous pouvez spécifier avec les préfixes des en-têtes HTTP.

Préfixes pour les en-têtes de contrôle de cache

Les préfixes suivants s’appliquent spécifiquement aux en-têtes Cache-Control.

Préfixe d’en-tête HTTP Description
HTTP.REQ.CACHE_CONTROL Renvoie un en-tête Cache-Control dans une requête HTTP.
HTTP.RES.CACHE_CONTROL Renvoie un en-tête Cache-Control dans une réponse HTTP.

Opérations pour les en-têtes de contrôle de cache

Vous pouvez appliquer n’importe quelle opération pour les en-têtes HTTP aux en-têtes Cache-Control.

En outre, les opérations suivantes identifient des types spécifiques d’en-têtes Cache-Control. Reportez-vous à la section RFC 2616 pour plus d’informations sur ces types d’en-tête.

Opération d’en-tête HTTP Description
Cache-Control header.NAME(<integer>) Renvoie sous forme de valeur de texte le nom de l’en-tête Cache-Control qui correspond au nième composant d’une liste nom-valeur, comme spécifié par<integer>. L’index du composant nom-valeur est basé sur 0. Si le <integer> qui est spécifié par l’argument entier est supérieur au nombre de composants dans la liste, un objet texte de longueur nulle est renvoyé. Voici un exemple : http.req.cache_control.name(3).contains("some_text")
Cache-Control header.IS_INVALID Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control n’est pas présent dans la requête ou la réponse. Voici un exemple : http.req.cache_control.is_invalid
Cache-Control header.IS_PRIVATE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Private. Voici un exemple : http.req.cache_control.is_private
Cache-Control header.IS_PUBLIC Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Private. Voici un exemple : http.req.cache_control.is_public
Cache-Control header.IS_NO_STORE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur No-Store. Voici un exemple : http.req.cache_control.is_no_store
Cache-Control header.IS_NO_CACHE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur No-Cache. Voici un exemple : http.req.cache_control.is_no_cache
Cache-Control header.IS_MAX_AGE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Max-Age. Voici un exemple : http.req.cache_control.is_max_age
Cache-Control header.IS_MIN_FRESH Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Min-Fresh. Voici un exemple : http.req.cache_control.is_min_fresh
Cache-Control header.IS_MAX_STALE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Max-Stale. Voici un exemple : http.req.cache_control.is_max_stale
Cache-Control header.IS_MUST_REVALIDATE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Doit-Revalidate. Voici un exemple : http.req.cache_control.is_must_revalidate
Cache-Control header.IS_NO_TRANSFORM Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur No-Transform. Voici un exemple : http.req.cache_control.is_no_transform
Cache-Control header.IS_ONLY_IF_CACHED Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Only-If-Cached. Voici un exemple : http.req.cache_control.is_only_if_cached
Cache-Control header.IS_PROXY_REVALIDATE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur Proxy-Revalidate. Voici un exemple : http.req.cache_control.is_proxy_revalidate
Cache-Control header.IS_S_MAXAGE Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control a la valeur S-Maxage. Voici un exemple : http.req.cache_control.is_s_maxage
Cache-Control header.IS_UNKNOWN Renvoie une valeur booléenne TRUE si l’en-tête Cache-Control est d’un type inconnu. Voici un exemple : http.req.cache_control.is_unknown
Cache-Control header.MAX_AGE Renvoie la valeur de l’en-tête Cache-Control Max-Age. Si cet en-tête est absent ou non valide, 0 est renvoyé. Voici un exemple : http.req.cache_control.max_age.le(3)
Cache-Control header.MAX_STALE Renvoie la valeur de l’en-tête Cache-Control Max-Stale. Si cet en-tête est absent ou non valide, 0 est renvoyé. Voici un exemple : http.req.cache_control.max_stale.le(3)
Cache-Control header.MIN_FRESH Renvoie la valeur de l’en-tête Cache-Control Min-Fresh. Si cet en-tête est absent ou non valide, 0 est renvoyé. Voici un exemple : http.req.cache_control.min_fresh.le (3)
Cache-Control header.S_MAXAGE Renvoie la valeur de l’en-tête Cache-Control S-Maxage. Si cet en-tête est absent ou non valide, 0 est retourné.Folor est un exemple : http.req.cache_control.s_maxage.eq (2)
Expressions pour les en-têtes HTTP et de contrôle de cache