Modifiez, supprimez ou ajoutez des en-têtes de réponse provenant d'un serveur d'origine vers ESA, tels que Cache-Control et Expires. Le contrôle de ces en-têtes permet d'optimiser le comportement du cache, de renforcer la sécurité et de personnaliser l'expérience client.
Fonctionnement des en-têtes de réponse du serveur d'origine vers ESA
Cette fonctionnalité modifie les en-têtes de réponse spécifiés depuis l'origine selon des règles prédéfinies. Les modifications prennent effet avant que le serveur ESA ne traite l'objet. Si le contenu de la réponse est susceptible d'être mis en cache, les en-têtes modifiés sont stockés dans le cache avec la réponse.
Ce comportement diffère de la modification des en-têtes de réponse d'ESA vers le client. Lorsque vous modifiez les en-têtes ESA vers le client, les changements s'appliquent après qu'ESA a traité la réponse complète provenant du serveur d'origine ou du cache, et la réponse est immédiatement envoyée au client.
Modifier les en-têtes de réponse du serveur d'origine vers ESA
Dans la console ESA, sélectionnez Websites, puis dans la colonne Websites, cliquez sur le site cible.
Dans le volet de navigation de gauche, choisissez .
-
Sélectionnez l'onglet Response Header, cliquez sur l'élément Origin to ESA, puis sur Add. Configurez ensuite les conditions de correspondance dans la section Match Conditions. Pour plus d'informations, consultez la rubrique Composants d'une expression de règle.

-
Dans la section Modify Response Headers, sélectionnez une action, saisissez un nom d'en-tête et une valeur d'en-tête, puis cliquez sur Submit.
Le tableau suivant décrit les actions et modes disponibles. Le paramètre Mode détermine comment la valeur de l'en-tête est spécifiée : Static utilise une valeur fixe que vous saisissez, tandis que Dynamic évalue une expression de règle à l'exécution.
Action
Mode
Description
Example
Add
Static
Ajoute l'en-tête de réponse spécifié à la réponse du serveur d'origine. Si un en-tête portant le même nom existe déjà, le nouvel en-tête l'écrase.
Pour ajouter un en-tête de réponse nommé
x-codeavec la valeurkey1, définissez Header Name surx-codeet Header Value surkey1.Add
Dynamic
La valeur de l'en-tête de réponse peut être une expression de règle.
Pour ajouter un en-tête de réponse nommé
Client-Ip-Geo-Locationavec la valeur dynamiqueip.geoip.countryqui enregistre le pays ou la région de l'adresse IP du client, définissez Header Name surClient-Ip-Geo-Locationet Header Value surip.geoip.country.Modify
Static
Modifie la valeur d'un en-tête de réponse spécifié dans la réponse du serveur d'origine.
Pour changer la valeur de l'en-tête de réponse
x-codeenkey2, définissez Header Name surx-codeet Header Value surkey2.Modify
Dynamic
La valeur de l'en-tête de réponse peut être une expression de règle.
Pour changer la valeur de l'en-tête de réponse
Client-Ip-Geo-Locationen la valeur dynamiqueip.geoip.country, définissez Header Name surClient-Ip-Geo-Locationet Header Value surip.geoip.country.Delete
—
Supprime toutes les occurrences de l'en-tête correspondant au nom d'en-tête spécifié de la réponse du serveur d'origine. L'opération de suppression est identique pour les modes statique et dynamique.
Pour supprimer l'en-tête de réponse
x-code, définissez Header Name surx-code.RemarqueVous ne pouvez pas configurer un nom d'en-tête commençant par
ali-swift,ali-esa-inner,x-swiftoux-site(la casse n'est pas prise en compte).Vous pouvez spécifier plusieurs valeurs dans le champ Header Value. Séparez les valeurs par une virgule (
,).L'action Modify modifie un en-tête de réponse existant et prend effet uniquement si un en-tête portant le nom spécifié existe dans la réponse d'origine.
Paramètres des en-têtes de réponse
|
Parameter |
Description |
Example |
|
Custom |
Vous pouvez ajouter des en-têtes de réponse personnalisés. Un nom d'en-tête personnalisé doit répondre aux exigences suivantes : il est composé de lettres majuscules, de lettres minuscules, de chiffres et de traits d'union ( |
|
|
|
Indique si la réponse peut être exposée à la page. Valeurs : |
|
|
|
Spécifie les en-têtes autorisés pour les requêtes cross-origin. |
|
|
|
Spécifie les méthodes autorisées pour les requêtes cross-origin. Séparez plusieurs méthodes par une virgule ( |
|
|
|
Spécifie quelles origines peuvent accéder à la ressource. Fait partie du mécanisme CORS (Cross-Origin Resource Sharing). Valeurs prises en charge : le caractère générique ( |
|
|
|
Spécifie les en-têtes auxquels les scripts côté client sont autorisés à accéder. |
|
|
|
Spécifie la durée pendant laquelle les résultats d'une requête preflight peuvent être mis en cache, en secondes. |
|
|
|
Spécifie les directives de mise en cache pour les requêtes et les réponses. |
|
|
|
Suggère un nom de fichier par défaut si le client enregistre le contenu de la réponse sous forme de fichier. |
|
|
|
Indique le type de média du contenu de la réponse. |
|
|
|
En-tête HTTP/1.0 utilisé dans les réponses du serveur pour définir le comportement de mise en cache pour les clients. |
|
Exemple de configuration d'expression dynamique
L'exemple suivant montre comment utiliser la fonction regex_replace avec le champ http.response.headers pour remplacer des caractères spéciaux dans la valeur d'un en-tête de réponse provenant du serveur d'origine.
Scénario : Remplacer le symbole # par - dans la valeur de l'en-tête HTTP example dans la réponse du serveur d'origine vers le nœud ESA.
Configuration
Dans la section Modify Response Headers, configurez les paramètres suivants :
|
Parameter |
Value |
|
Rules |
Dynamic |
|
Transform Rules |
Modify |
|
Type |
|
|
Operation |
|
Résultat
|
Value |
|
|
En-tête de réponse d'origine |
|
|
En-tête modifié |
|