Expresiones de directiva clásicas y avanzadas

Uno de los componentes más fundamentales de una directiva es su regla. Una regla de directiva es una expresión lógica que permite a la directiva analizar el tráfico. La mayor parte de la funcionalidad de la directiva se deriva de su expresión.

Una expresión coincide con las funciones del tráfico u otros datos con uno o más parámetros y valores. Por ejemplo, una expresión puede habilitar el dispositivo Citrix ADC para lograr lo siguiente:

  • Determine si una solicitud contiene un certificado.
  • Determine la dirección IP de un cliente que envió una solicitud TCP.
  • Identifique los datos que contiene una solicitud HTTP (por ejemplo, una hoja de cálculo popular o una aplicación de procesamiento de textos).
  • Calcule la longitud de una solicitud HTTP.

Acerca de las expresiones clásicas

Las expresiones clásicas permiten evaluar las funciones básicas de los datos. Tienen una sintaxis estructurada que realiza la coincidencia de cadenas y otras operaciones.

A continuación se presentan algunos ejemplos simples de expresiones clásicas:

  • Una respuesta HTTP contiene un tipo particular de encabezado Control de caché.

res.http.header Cache-Control contiene público

  • Una respuesta HTTP contiene datos de imagen.

res.http.header Content-Type contiene la imagen

  • Una solicitud SSL contiene un certificado.

req.ssl.client.cert existe

Acerca de las expresiones de directiva avanzadas

Cualquier función que utilice directivas de sintaxis predeterminadas también utiliza expresiones avanzadas. Para obtener información sobre las funciones que utilizan directivas avanzadas, consulte la tablaFunción, tipo de directiva y uso de directivas de Citrix ADC.

Las expresiones de directiva avanzadas tienen otros usos. Además de configurar expresiones avanzadas en reglas de directiva, puede configurar expresiones avanzadas en las siguientes situaciones:

  • Almacenamiento en caché integrado:

    Utilice expresiones de directiva avanzadas para configurar un selector para un grupo de contenido en la caché integrada.

  • Equilibrio de carga:

    Utilice expresiones de directiva avanzadas para configurar la extracción de tokens para un servidor virtual de equilibrio de carga que utiliza el método TOKEN para el equilibrio de carga.

  • Volver a escribir:

    Utilice expresiones de directiva avanzadas para configurar acciones de reescritura.

  • Directivas basadas en tasas:

    Las expresiones de directiva avanzadas se utilizan para configurar selectores de límites cuando se configura una directiva para controlar la velocidad de tráfico a varios servidores.

A continuación se presentan algunos ejemplos simples de expresiones de directiva avanzadas:

  • Una URL de solicitud HTTP no contiene más de 500 caracteres.

http.req.url.length \<= 500

  • Una solicitud HTTP contiene una cookie que tiene menos de 500 caracteres.

http.req.cookie.length \< 500

  • Una URL de solicitud HTTP contiene una cadena de texto concreta.

http.req.url.contains(".html")