Product Documentation

Classic and advanced policy expressions

One of the most fundamental components of a policy is its rule. A policy rule is a logical expression that enables the policy to analyze traffic. Most of the policy’s functionality is derived from its expression.

An expression matches characteristics of traffic or other data with one or more parameters and values. For example, an expression can enable the Citrix ADC to accomplish the following:

  • Determine whether a request contains a certificate.
  • Determine the IP address of a client that sent a TCP request.
  • Identify the data that an HTTP request contains (for example, a popular spreadsheet or word processing application).
  • Calculate the length of an HTTP request.

About classic expressions

Classic expressions enable you to evaluate basic characteristics of data. They have a structured syntax that performs string matching and other operations.

Following are a few simple examples of classic expressions:

  • An HTTP response contains a particular type of Cache Control header.

res.http.header Cache-Control contains public

  • An HTTP response contains image data.

res.http.header Content-Type contains image/

  • An SSL request contains a certificate.

req.ssl.client.cert exists

About advanced policy expressions

Any feature that uses default syntax policies also uses Advanced expressions. For information about which features use Advanced policies, see the table Citrix ADC Feature, Policy Type, and Policy Usage.

Advanced policy expressions have a few other uses. In addition to configuring Advanced expressions in policy rules, you configure Advanced expressions in the following situations:

  • Integrated Caching:

    You use Advanced policy expressions to configure a selector for a content group in the integrated cache.

  • Load Balancing:

    You use Advanced policy expressions to configure token extraction for a load balancing virtual server that uses the TOKEN method for load balancing.

  • Rewrite:

    You use Advanced policy expressions to configure rewrite actions.

  • Rate-based policies:

    You use Advanced policy expressions to configure limit selectors when configuring a policy to control the rate of traffic to various servers.

Following are a few simple examples of Advanced policy expressions:

  • An HTTP request URL contains no more than 500 characters.

http.req.url.length \<= 500

  • An HTTP request contains a cookie that has fewer than 500 characters.

http.req.cookie.length \< 500

  • An HTTP request URL contains a particular text string.

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

Classic and advanced policy expressions