ADC

Comment fonctionne la correspondance de chaînes avec les ensembles de modèles et les ensembles de données

Un ensemble de modèles ou un ensemble de données contient un ensemble de modèles, et un index unique est attribué à chaque modèle. Lorsqu’une stratégie est appliquée à un paquet, une expression identifie une chaîne à évaluer et l’opérateur compare la chaîne aux modèles définis dans le jeu de motifs ou le jeu de données jusqu’à ce qu’une correspondance soit trouvée ou que tous les modèles aient été comparés. Ensuite, en fonction de sa fonction, l’opérateur renvoie soit une valeur booléenne qui indique si un modèle correspondant a été trouvé, soit l’indice du modèle qui correspond à la chaîne.

Remarque : Cette rubrique explique le fonctionnement d’un ensemble de modèles. Les ensembles de données fonctionnent de la même manière. La seule différence entre les ensembles de modèles et les ensembles de données réside dans le type de modèles définis dans l’ensemble.

Examinez le cas d’utilisation suivant pour comprendre comment les modèles peuvent être utilisés pour la mise en correspondance de chaînes.

Vous souhaitez déterminer si le suffixe d’URL (texte cible) contient l’une des extensions du fichier image. Sans utiliser d’ensembles de modèles, vous devez définir une expression complexe, comme suit :

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")
<!--NeedCopy-->

Si l’URL possède le suffixe « jpg », avec l’expression composée ci-dessus, l’appliance NetScaler doit parcourir l’ensemble de l’expression composée de manière séquentielle, d’une sous-expression à l’autre, pour déterminer que la demande fait référence à une image jpg. La figure suivante montre les étapes du processus.

Image localisée

Lorsqu’une expression composée inclut des centaines de sous-expressions, le processus ci-dessus est gourmand en ressources. Une meilleure alternative est une expression qui invoque un ensemble de modèles, comme le montre la figure suivante.

Image localisée

Lors de l’évaluation de la stratégie, comme indiqué ci-dessus, l’opérateur (CONTAINS_ANY) compare la chaîne identifiée dans la requête avec les motifs définis dans le jeu de motifs jusqu’à ce qu’une correspondance soit trouvée. Avec l’expression Sample_Patset, les multiples itérations de six sous-expressions sont réduites à une seule.

En éliminant la nécessité de configurer des expressions composées qui effectuent la correspondance de chaînes avec plusieurs opérations OR, les jeux de motifs ou les jeux de données simplifient la configuration et accélèrent le traitement des demandes et des réponses.

Comment fonctionne la correspondance de chaînes avec les ensembles de modèles et les ensembles de données