Expressions for HTTP and cache-control headers
One common method of evaluating HTTP traffic is to examine the headers in a request or a response. A header can perform a number of functions, including the following:
-
Provide cookies that contain data about the sender.
-
Identify the type of data that is being transmitted.
-
Identify the route that the data has traveled (the Via header).
Note:
If an operation is used to evaluate both header and text data, the header-based operation always overrides the text-based operation. For example, the AFTER_STR operation, when applied to a header, overrides text-based AFTER_STR operations for all instances of the current header type.
Prefixes for HTTP headers
The Prefixes for HTTP headers table for expression prefixes that extract HTTP headers.
Operations for HTTP headers
The Operations for HTTP headers table for operations that you can specify with the prefixes for HTTP headers.
Prefixes for cache-control headers
The following prefixes apply specifically to Cache-Control headers.
| HTTP Header Prefix | Description |
|---|---|
| HTTP.REQ.CACHE_CONTROL | Returns a Cache-Control header in an HTTP request. |
| HTTP.RES.CACHE_CONTROL | Returns a Cache-Control header in an HTTP response. |
Operations for cache-control headers
You can apply any of the operations for HTTP headers to Cache-Control headers.
In addition, the following operations identify specific types of Cache-Control headers. See RFC 2616 for information about these header types.
| HTTP Header Operation | Description |
|---|---|
Cache-Control header.NAME(<integer>) |
Returns as a text value the name of the Cache-Control header that corresponds to the nth component in a name-value list, as specified by <integer>. The index of the name-value component is 0-based. If the <integer> that is specified by the integer argument is greater than the number of components in the list, a zero-length text object is returned. Following is an example: http.req.cache_control.name(3).contains("some_text") |
| Cache-Control header.IS_INVALID | Returns a Boolean TRUE if the Cache-Control header is not present in the request or response. Following is an example: http.req.cache_control.is_invalid |
Cache-Control header.IS_PRIVATE |
Returns a Boolean TRUE if the Cache-Control header has the value Private. Following is an example: http.req.cache_control.is_private |
| Cache-Control header.IS_PUBLIC | Returns a Boolean TRUE if the Cache-Control header has the value Private. Following is an example: http.req.cache_control.is_public |
| Cache-Control header.IS_NO_STORE | Returns a Boolean TRUE if the Cache-Control header has the value No-Store. Following is an example: http.req.cache_control.is_no_store |
| Cache-Control header.IS_NO_CACHE | Returns a Boolean TRUE if the Cache-Control header has the value No-Cache. Following is an example: http.req.cache_control.is_no_cache |
| Cache-Control header.IS_MAX_AGE | Returns a Boolean TRUE if the Cache-Control header has the value Max-Age. Following is an example: http.req.cache_control.is_max_age |
| Cache-Control header.IS_MIN_FRESH | Returns a Boolean TRUE if the Cache-Control header has the value Min-Fresh. Following is an example: http.req.cache_control.is_min_fresh |
| Cache-Control header.IS_MAX_STALE | Returns a Boolean TRUE if the Cache-Control header has the value Max-Stale. Following is an example: http.req.cache_control.is_max_stale |
| Cache-Control header.IS_MUST_REVALIDATE | Returns a Boolean TRUE if the Cache-Control header has the value Must-Revalidate. Following is an example: http.req.cache_control.is_must_revalidate |
| Cache-Control header.IS_NO_TRANSFORM | Returns a Boolean TRUE if the Cache-Control header has the value No-Transform. Following is an example: http.req.cache_control.is_no_transform |
| Cache-Control header.IS_ONLY_IF_CACHED | Returns a Boolean TRUE if the Cache-Control header has the value Only-If-Cached. Following is an example: http.req.cache_control.is_only_if_cached |
| Cache-Control header.IS_PROXY_REVALIDATE | Returns a Boolean TRUE if the Cache-Control header has the value Proxy-Revalidate. Following is an example: http.req.cache_control.is_proxy_revalidate |
| Cache-Control header.IS_S_MAXAGE | Returns a Boolean TRUE if the Cache-Control header has the value S-Maxage. Following is an example: http.req.cache_control.is_s_maxage |
| Cache-Control header.IS_UNKNOWN | Returns a Boolean TRUE if the Cache-Control header is of an unknown type. Following is an example: http.req.cache_control.is_unknown |
| Cache-Control header.MAX_AGE | Returns the value of the Cache-Control header Max-Age. If this header is absent or invalid, 0 is returned. Following is an example: http.req.cache_control.max_age.le(3) |
| Cache-Control header.MAX_STALE | Returns the value of the Cache-Control header Max-Stale. If this header is absent or invalid, 0 is returned. Following is an example: http.req.cache_control.max_stale.le(3) |
| Cache-Control header.MIN_FRESH | Returns the value of the Cache-Control header Min-Fresh. If this header is absent or invalid, 0 is returned. Following is an example: http.req.cache_control.min_fresh.le(3) |
| Cache-Control header.S_MAXAGE | Returns the value of the Cache-Control header S-Maxage. If this header is absent or invalid, 0 is returned.Following is an example: http.req.cache_control.s_maxage.eq(2) |