Citrix Systems 9.2 Benutzerhandbuch

Seite von 302
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")