Quelle différence entre les opérations Set et Add de Cloudflare sur les en-têtes de réponse ?

L'équipe Citead, mis à jour le

En bref. Cloudflare Set remplace les en-têtes existants de même nom, tandis qu’Add les conserve et ajoute un autre en-tête de ce nom.

Définition : Les règles de transformation des en-têtes de réponse de Cloudflare (Response Header Transform Rules) modifient les en-têtes de réponse HTTP envoyés aux visiteurs d’un site web. Set remplace tous les en-têtes existants portant le nom choisi, tandis qu’Add ajoute un en-tête de ce nom en conservant les en-têtes existants.

Points clés

  • La documentation de référence de Cloudflare sur la transformation des en-têtes de réponse indique que Set peut écraser une valeur existante ou créer un en-tête lorsque le nom est absent.
  • Add conserve les en-têtes existants de même nom et ajoute un nouvel en-tête dont la valeur est soit une valeur littérale, soit le résultat d’une expression.
  • Set et Add acceptent les chaînes littérales et les expressions : leur différence porte donc sur le traitement de l’en-tête nommé après le calcul de sa valeur.
  • La RFC 9110 décrit la répétition d’un nom de champ comme une liste de valeurs de lignes de champ, dans l’ordre de réception. Chaque valeur est séparée par une virgule lorsque la sémantique du champ autorise ce regroupement.

Que modifie Set ?

Set définit la valeur associée à un nom d’en-tête de réponse. Cloudflare documente une forme littérale et une forme fondée sur une expression. Si la réponse contient déjà ce nom d’en-tête, Set écrase sa valeur précédente. Si le nom est absent, Set ajoute un nouvel en-tête.

L’opération s’applique à tous les en-têtes existants de ce nom. Ce détail compte lorsque la réponse contient plusieurs lignes de champ. Une opération Set retient donc une seule valeur de remplacement pour ce nom au lieu de conserver les lignes de champ précédentes. Cloudflare précise également que les règles de transformation des en-têtes de réponse exécutées ensuite peuvent écraser les modifications des règles précédentes.

Que conserve Add ?

Add crée un nouvel en-tête de réponse avec le nom et la valeur choisis, sans supprimer les en-têtes existants de ce nom. L’opération propose également une forme littérale et une forme fondée sur une expression. La RFC 9110 appelle chaque occurrence une ligne de champ (field line) et précise que les occurrences d’un même nom de champ forment une valeur de champ combinée selon les règles du champ, en conservant l’ordre des valeurs.

Set-Cookie en est l’exemple le plus clair. La RFC 9110 le décrit comme un champ qui apparaît souvent sur plusieurs lignes et ne peut pas être regroupé en une seule valeur de champ. Cloudflare recommande donc Add static ou Add dynamic pour un nouvel en-tête set-cookie. L’utilisation de Set static ou Set dynamic supprime les en-têtes set-cookie existants, y compris ceux ajoutés par d’autres produits Cloudflare comme Bot Management.

Set-Cookie: session=abc
Set-Cookie: preferences=compact

Quelle opération choisir pour un site ?

Set convient lorsque la réponse doit présenter une seule valeur de remplacement pour un nom d’en-tête, y compris lorsqu’une valeur précédente doit être supprimée. Add convient lorsque la réponse doit conserver les valeurs existantes et comporter une ligne de champ distincte. Le choix dépend aussi de la définition du champ HTTP concerné : la RFC 9110 autorise le regroupement pour les champs dont la sémantique accepte une liste séparée par des virgules et traite Set-Cookie séparément.

La documentation de référence de Cloudflare indique que les valeurs des en-têtes de réponse sont calculées à partir des valeurs des champs correspondants de la requête HTTP. Elle présente également Cloudflare Trace comme l’outil permettant de déterminer si une règle se déclenche pour une URL donnée. Une trace et les en-têtes de réponse renvoyés montrent si l’opération configurée produit un remplacement ou une ligne de champ supplémentaire.

Termes associés

Questions fréquentes

Set crée-t-il un en-tête lorsque la réponse n’en contient pas ?

Oui. Cloudflare indique que Set ajoute l’en-tête lorsque le nom d’en-tête indiqué n’existe pas. Lorsque le nom existe déjà, Set écrase la valeur précédente.

Utilisez Add static ou Add dynamic. Cloudflare précise qu’Add conserve les en-têtes set-cookie existants, tandis que Set les supprime, y compris ceux ajoutés par d’autres produits Cloudflare.

Add produit-il toujours une valeur séparée par des virgules ?

L’opération ajoute un en-tête distinct. La RFC 9110 précise que les lignes de champ répétées sont regroupées avec des virgules lorsque la définition du champ autorise cette forme. Set-Cookie reste un cas particulier qui ne peut pas être regroupé en une seule valeur de champ.

Sources

  1. Cloudflare, « Response Header Transform Rules », 4 septembre 2026
  2. IETF, « RFC 9110: HTTP Semantics », juin 2022

Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO

Testez une page et voyez quoi corriger en premier

L'analyse prend en général moins de 10 secondes et ne demande pas de compte.

400 000+ pages notées dans le benchmark public