HTTP和缓存控制标头的表达式
评估HTTP流量的一种常见方法是检查请求或响应中的标头。标头可以执行许多功能,包括以下功能:
- 提供包含有关发件人数据的Cookie。
- 标识正在传输的数据的类型。
- 标识数据已经走过的路径(通过标头)。
注意
如果使用操作同时评估标头和文本数据,则基于标头的操作始终会覆盖基于文本的操作。例如,当将ACHER_STR操作应用于标头时,会覆盖当前标头类型的所有实例的基于文本的ACHER_STR操作。
HTTP标头的前缀
HTTP标头的前缀表格用于提取HTTP标头的表达式前缀。
HTTP标头的操作
HTTP标头的操作表,用于指定可以使用HTTP标头的前缀指定的操作。
缓存控制头的前缀
以下前缀专门适用于缓存控制标头。
HTTP标头前缀 | 说明 |
---|---|
HTTP.REQ.CACHE_CONTROL | 返回HTTP请求中的缓存控制标头。 |
HTTP.RES.CACHE_CONTROL | 返回HTTP响应中的缓存控制标头。 |
缓存控制头的操作
您可以将HTTP标头的任何操作应用于缓存控制标头。
此外,以下操作标识特定类型的缓存控制标头。有关这些标头类型的信息,请参阅RFC 2616。
HTTP标头操作 | 说明 |
---|---|
cache - control header.NAME(<整数>) |
作为文本值返回与名称值列表中的第n个组件对应的缓存控制标头的名称,如指定的<整数> 。名称-值组件的索引是从 0 开始的。如果整数参数指定的大于列表中的组件数,则返回零长度文本对象。<整数> 下面是一个示例:http.req.cache_control.name (3) .contains(“some_text”) |
cache - control头。IS_INVALID | 如果请求或响应中不存在缓存控制标头,则返回布尔值真。下面是一个示例:http.req.cache_control.is_invalid |
cache - control头。IS_PRIVATE |
如果缓存控制标头具有“私有”值,则返回布尔值正确。下面是一个示例:http.req.cache_control.is_private |
cache - control头。IS_PUBLIC | 如果缓存控制标头具有“私”有值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_public |
cache - control头。IS_NO_STORE | 如果缓存控制标头具有“无存储”值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_no_store |
cache - control头。IS_NO_CACHE | 如果缓存控制标头具有“无缓存”值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_no_cache |
cache - control头。IS_MAX_AGE | 如果缓存控制标头具有最大时间值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_max_age |
cache - control头。IS_MIN_FRESH | 如果缓存控件头具有最小新鲜值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_min_fresh |
cache - control头。IS_MAX_STALE | 如果缓存控制标头具有最大值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_max_stale |
cache - control头。IS_MUST_REVALIDATE | 如果缓存控件标头具有“必须重新验证”值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_must_revalidate |
cache - control头。IS_NO_TRANSFORM | 如果缓存控制标头具有“无变换”值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_no_transform |
cache - control头。IS_ONLY_IF_CACHED | 如果缓存控制标头具有“只有如果缓存”值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_only_if_cached |
cache - control头。IS_PROXY_REVALIDATE | 如果缓存控件头具有代理重新验证值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_proxy_revalidate |
cache - control头。IS_S_MAXAGE | 如果缓存控制标头具有S-Maxage值,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_s_maxage |
cache - control头。IS_UNKNOWN | 如果缓存控制标头是未知类型,则返回布尔值TRUE。下面是一个示例:http.req.cache_control.is_unknown |
cache - control头。MAX_AGE | 返回缓存控制标头的值最大时间。如果此标头不存在或无效,则返回0。下面是一个示例:http.req.cache_control.max_age.le (3) |
cache - control头。MAX_STALE | 返回缓存控制标头的值最大过时。如果此标头不存在或无效,则返回0。下面是一个示例:http.req.cache_control.max_stale.le (3) |
cache - control头。MIN_FRESH | 返回Cache-Control标头Min-Fresh的值。如果此标头不存在或无效,则返回0。下面是一个示例:http.req.cache_control.min_fresh.le (3) |
cache - control头。S_MAXAGE | 返回缓存控制头S-Maxage的值。如果此标头不存在或无效,则返回0。下面是一个示例:http.req.cache_control.s_maxage.eq (2) |
已复制!
失败!