40

Citrix NetScaler Policy Configuration and Reference Guide

Expression Characteristics

Policies and a few other entities include rules that the NetScaler uses to evaluate a packet in the traffic flowing through it, to extract data from the NetScaler system itself, to send a request (a callout) to an external application, or to analyze another piece of data. A rule takes the form of a logical expression that is compared against traffic and ultimately returns values of TRUE or FALSE.

The elements of the rule can themselves return TRUE or FALSE, string, or numeric values.

Before configuring an advanced expression, you need to understand the characteristics of the data that the policy or other entity is to evaluate. For example, when working with the Integrated Caching feature, a policy determines what data can be stored in the cache. With Integrated Caching, you need to know the URLs, headers, and other data in the HTTP requests and responses that the NetScaler receives. With this knowledge, you can configure policies that match the actual data and enable the NetScaler to manage caching for HTTP traffic. This information helps you determine the type of expression that you need to configure in the policy.

Basic Elements of an Advanced Expression

An advanced expression consists of, at a minimum, a prefix (or a single element used in place of a prefix). Most expressions also specify an operation to be performed on the data that the prefix identifies. You format an expression, of up to 1,499 characters, as follows:

<prefix>.<operation> [<compound-operator> <prefix>.<operation>. . .]

Where:

<prefix> is an anchor point for starting an expression.

The prefix is a period-delimited key that identifies a unit of data. For example, the following prefix examines HTTP requests for the presence of a header named Content-Type:

http.req.header("Content-Type")

Prefixes can also be used on their own to return the value of the object that the prefix identifies.

<operation> identifies an evaluation that is to be performed on the data identified by the prefix.

For example, consider the following expression:

http.req.header("Content-Type").eq("text/html")

Page 54
Image 54
Citrix Systems 9.2 manual Expression Characteristics, Basic Elements of an Advanced Expression