字符串匹配如何与模式集和数据集一起工作
模式集或数据集包含一组模式,并为每个模式分配一个唯一的索引。将策略应用于数据包时,表达式会标识要评估的字符串,运算符将该字符串与模式集或数据集中定义的模式进行比较,直到找到匹配项或比较所有模式。然后,根据其函数,运算符返回指示是否找到匹配模式的布尔值,或者返回与字符串匹配的模式的索引。
注意:本主题介绍了模式集的工作。数据集的工作方式相同。模式集和数据集之间的唯一区别是集中定义的模式类型。
考虑以下用例来了解如何将模式用于字符串匹配。
http://www.qqqq.com http://www.qqqq.com http://www.qqqq.com http://www.qqqq.com http://www.qqqq.com http://www.qqqq.com如果不使用模式集,则必须定义一个复杂的表达式,如下所示:
HTTP.REQ.URL.SUFFIX.CONTAINS("svg")…HTTP.REQ.URL.SUFFIX.CONTAINS("bmp")…HTTP.REQ.URL.SUFFIX.CONTAINS("png")…HTTP.REQ.URL.SUFFIX.CONTAINS("gif")…HTTP.REQ.URL.SUFFIX.CONTAINS("tiff")…HTTP.REQ.URL.SUFFIX.CONTAINS("jpg")
如果URL的后缀为“jpg”,则具有上述复合表达式,Citrix ADC设备必须按顺序遍历整个复合表达式(从一个子表达式到下一个子表达式),以确定请求是否引用了jpg映像。下图显示了此过程中的步骤。
当复合表达式包含数百个子表达式时,上述过程是资源密集型的。更好的替代方法是调用模式集的表达式,如下图所示。
如上所示,在策略评估期间,运算符(COUNS_ANY)将请求中标识的字符串与模式集中定义的模式进行比较,直到找到匹配项。http://www.chinac.cn/cn/或http://www.chinac.cn/cn/xcn/
通过无需配置使用多个或操作执行字符串匹配的复合表达式,模式集或数据集可简化配置并加速请求和响应的处理。
字符串匹配如何与模式集和数据集一起工作
本文中包含的内容
已复制
失败了!