En bref. Une règle Cloudflare sur les en-têtes de réponse ne peut pas reconnaître une valeur modifiée par une règle précédente dans la même phase.
Définition : Non. Dans une même phase Cloudflare, les règles de transformation des en-têtes de réponse évaluent leurs filtres sur les valeurs initiales des champs de réponse. Une règle suivante peut toutefois écraser une modification d’en-tête effectuée par une règle précédente lorsque sa propre action s’exécute.
Points clés
- La documentation de référence de Cloudflare sur les en-têtes de réponse indique que les règles de transformation des en-têtes de réponse modifient les en-têtes envoyés aux visiteurs du site.
- Les règles de transformation des en-têtes de réponse s’exécutent dans l’ordre, et une règle peut écraser une modification effectuée par une règle précédente, selon la présentation des Transform Rules de Cloudflare.
- La documentation de Cloudflare sur les règles précise que les valeurs des champs de requête et de réponse sont immuables au sein de chaque phase pendant l’évaluation des règles.
- Le champ
http.response.headersest un tableau associatif de tableaux de chaînes de caractères. Ses clés sont en minuscules, et les en-têtes répétés conservent leur ordre d’apparition dans la réponse, comme l’indique la documentation de référence de Cloudflare sur ce champ.
Qu’est-ce qui est évalué au sein de la phase ?
Cloudflare définit une phase comme une étape du cycle de vie d’une requête où des ensembles de règles peuvent s’exécuter. Cloudflare contrôle la définition des phases. Pour une requête ou une réponse donnée, tous les champs de requête et de réponse restent immuables pendant l’évaluation des règles de cette phase. Leurs valeurs peuvent changer entre les phases : leur délimitation compte donc pour toute règle qui lit un champ.
Les règles de transformation des en-têtes de réponse (Response Header Transform Rules) utilisent la phase http_response_headers_transform. La documentation de Cloudflare sur les en-têtes de réponse précise que les règles suivantes utilisent toujours les valeurs initiales des champs pour évaluer leurs expressions de filtre, même lorsqu’une règle précédente a modifié un en-tête de réponse. Elle distingue également cette évaluation du filtre des actions qui modifient la réponse sortante.
Que peut modifier une règle suivante ?
Les règles de transformation (Transform Rules) s’exécutent dans l’ordre configuré. Cloudflare précise que les règles placées plus bas dans la liste peuvent écraser les modifications des règles précédentes et que leur ordre peut être défini dans le tableau de bord ou via l’API. Une règle suivante peut donc modifier l’en-tête de réponse final si son filtre correspond à l’instantané des champs de la phase, tandis que ce filtre ne peut pas reconnaître une valeur produite par une règle précédente dans cette même phase.
La documentation de référence sur les en-têtes de réponse énumère les opérations disponibles. Set écrit une valeur littérale ou le résultat d’une expression, en remplaçant la valeur existante ou en ajoutant l’en-tête s’il est absent. Add crée une valeur supplémentaire sans supprimer les en-têtes existants de même nom. Remove supprime l’en-tête de réponse. Une action ultérieure s’applique donc à la réponse en cours de construction, même si les champs lus par son filtre conservent leurs valeurs initiales pour la phase.
Comment un champ d’en-têtes de réponse est-il représenté ?
Cloudflare représente http.response.headers sous la forme Map<Array<String>>. Les noms d’en-têtes sont convertis en minuscules. Lorsqu’une réponse contient des en-têtes répétés, le tableau conserve leur ordre d’apparition. Cloudflare précise qu’aucun décodage n’est effectué et que les caractères d’espacement et les caractères non ASCII sont conservés.
Une expression de la documentation de référence du champ vérifie chaque valeur du tableau pour rechercher une correspondance :
any(http.response.headers["server"][*] == "nginx")
Cette expression montre comment un filtre peut examiner plusieurs valeurs pour un même nom d’en-tête. Pour les transformations des en-têtes de réponse, ces expressions reçoivent les valeurs initiales de la phase ; elles ne reflètent pas une valeur affectée par une règle de transformation des en-têtes de réponse précédente dans cette phase.
Comment vérifier si une règle correspond ?
Cloudflare recommande Cloudflare Trace pour diagnostiquer les problèmes des Transform Rules. Selon sa documentation sur les en-têtes de réponse, Trace permet de déterminer si une règle se déclenche pour une URL précise. Une trace est donc le moyen documenté de vérifier la correspondance du filtre lors du diagnostic d’un en-tête final inattendu.
Termes associés
- Quelle différence entre les opérations Set et Add de Cloudflare sur les en-têtes de réponse ?
- Les transformations d’en-têtes de réponse Cloudflare modifient-elles le comportement du cache ?
- Dans quel ordre Cloudflare évalue-t-il les règles WAF personnalisées ?
Questions fréquentes
Une règle sur les en-têtes de réponse peut-elle lire une valeur affectée par une règle précédente ?
Non. Au sein d’une même phase, la règle suivante évalue les champs de réponse à partir de leurs valeurs initiales pour cette phase.
Une règle suivante peut-elle écraser la modification d’un en-tête de réponse effectuée par une règle précédente ?
Oui. Cloudflare exécute les Transform Rules dans l’ordre, et une règle suivante peut écraser une modification effectuée par une règle précédente lorsque son action s’exécute.
Comment écrire un filtre pour des valeurs d’en-tête de réponse répétées ?
Utilisez la forme documentée du tableau associatif et des tableaux, par exemple any(http.response.headers["server"][*] == "nginx"). Les noms d’en-têtes sont en minuscules dans ce champ, et les valeurs répétées conservent leur ordre d’apparition dans la réponse.
Sources
- Cloudflare, « Response Header Transform Rules », 4 septembre 2026
- Cloudflare, « Transform Rules », 14 août 2026
- Cloudflare, « Rules », 16 avril 2026
- Cloudflare, « Phases », 16 avril 2026
- Cloudflare, « http.response.headers », sans date
Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO