Les en-têtes de réponse sortants font partie des en-têtes de message de réponse HTTP. Ils transportent des paramètres de réponse spécifiques vers les clients et permettent de contrôler divers comportements côté client, tels que la mise en cache, l'accès cross-origin, les types de contenu et les méthodes de téléchargement. En modifiant les en-têtes de réponse sortants, le message de réponse renvoyé par CDN DCDN inclut les en-têtes configurés lorsque les utilisateurs demandent des ressources sous un nom de domaine accéléré. Cela active des fonctionnalités spécifiques telles que l'accès cross-origin.
Remarque : Lorsque cette fonctionnalité utilise les conditions de règle du Rules Engine, l'ordre d'exécution suit la priorité des conditions configurées dans le Rules Engine, et NON la priorité de la configuration de cette fonctionnalité.
Fonctionnement
Les en-têtes de réponse HTTP contrôlent le comportement de mise en cache. Lorsqu'un client demande une ressource à un nœud de bord (POP), les en-têtes renvoyés déterminent la manière dont le client et le POP mettent en cache la réponse.
La configuration des en-têtes de réponse HTTP s'applique au niveau du domaine. Une fois effective, elle s'applique aux messages de réponse de toutes les ressources associées au domaine.
La configuration des en-têtes de réponse HTTP affecte uniquement le comportement de réponse du client (par exemple, un navigateur) et n'affecte pas le comportement de mise en cache des nœuds CDN DCDN. La modification des en-têtes de réponse sortants n'est pas prise en charge si le nom de domaine accéléré est un domaine générique (wildcard).
Scénarios
Spécifier les types de ressources. Par exemple, ajoutez l'en-tête
Content-Type: text/htmlpour indiquer une réponse HTML.-
Activer le partage de ressources cross-origin (CORS) : Ajoutez l'en-tête Access-Control-Allow-Origin aux réponses des noms de domaine accélérés par DCDN. Pour plus d'informations, consultez la rubrique Configurer le partage de ressources cross-origin.
DCDN prend également en charge l'authentification des requêtes cross-origin via des règles CORS personnalisées.
Personnaliser le comportement de réponse : Ajoutez ou modifiez des en-têtes pour implémenter des fonctionnalités spécifiques ou ajuster le contenu de la réponse selon les exigences métier.
Remarques
-
Plusieurs configurations sont exécutées de haut en bas, selon leur ordre d'apparition dans la liste. Les effets sont cumulatifs. Si plusieurs configurations modifient le même en-tête, la dernière l'emporte. Dans l'exemple suivant, c'est la Configuration 2 qui est effective :
Configuration 1 : Ajouter l'en-tête de réponse HTTP :
cache-control: max-age=3600Configuration 2 : Ajouter l'en-tête de réponse HTTP :
cache-control: no-cache
Lorsque des conditions de règle sont appliquées, la correspondance est déterminée par la priorité des conditions, et non par l'ordre des configurations.
Procédure
Connectez-vous à la console DCDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Sur la page Domain Names, recherchez le nom de domaine cible et cliquez sur Configure.
Dans l'arborescence de navigation de gauche du nom de domaine, cliquez sur Caching.
-
Sous l'onglet Custom Outgoing Response Header, cliquez sur Add. Configurez ensuite les paramètres suivants.
Paramètre
Description
Operation
Ajouter, supprimer, modifier ou remplacer des en-têtes de réponse.
Response Header
Sélectionnez un en-tête de réponse. Pour plus d'informations, consultez la section En-têtes de réponse.
Description
Description de l'en-tête HTTP sélectionné.
Response Header Name
Si vous définissez Response Header sur Custom Header, vous devez spécifier un nom d'en-tête :
Le nom doit contenir des lettres, des chiffres et des traits d'union (-).
La longueur du nom doit être comprise entre 1 et 100 caractères.
Header Value
Valeur de l'en-tête de réponse. Pour plus d'informations, consultez la section En-têtes de réponse.
Allow Duplicates
Yes : L'en-tête du serveur d'origine et l'en-tête configuré sont tous deux renvoyés au client.
No : L'en-tête configuré remplace l'en-tête du serveur d'origine.
Rule Condition
Une condition de règle identifie diverses informations de paramètre dans une requête utilisateur. Cela détermine si une configuration est effective pour cette requête.
Do not use : N'utilise pas de condition de règle.
Pour ajouter ou modifier des conditions de règle, gérez-les dans le Rules Engine.
CORS
Désactivé par défaut. Disponible uniquement lorsque Operation est défini sur Add et que Response Header est défini sur Access-Control-Allow-Origin.
Enable : Les nœuds de bord (POPs) vérifient l'en-tête Origin dans les requêtes et définissent Access-Control-Allow-Origin en fonction des règles CORS.
Disable : Les nœuds de bord (POPs) ignorent la vérification de l'en-tête Origin et renvoient la valeur Access-Control-Allow-Origin configurée.
-
Cliquez sur OK.
Dans la liste des en-têtes de réponse, cliquez sur Modify ou Delete pour modifier ou supprimer un en-tête.
Règles CORS
Les paramètres Allow Duplicates et CORS s'excluent mutuellement. Définir Allow Duplicates sur Yes invalide Yes.
Correspondance générique : Si Access-Control-Allow-Origin est défini sur , la réponse renvoie toujours Access-Control-Allow-Origin: quelle que soit la valeur de l'en-tête Origin.
-
Correspondance exacte : Spécifiez une ou plusieurs valeurs pour Access-Control-Allow-Origin, séparées par des virgules (,).
Si l'en-tête Origin correspond à une valeur spécifiée, l'origine correspondante est renvoyée dans la réponse.
Si aucune correspondance n'est trouvée, Access-Control-Allow-Origin n'est pas renvoyé.
Correspondance de domaine générique : Si Access-Control-Allow-Origin est défini sur un domaine générique, l'en-tête Origin est comparé à celui-ci.
Pour plus d'informations, consultez la rubrique Configurer le partage de ressources cross-origin.
En-têtes de réponse
En-tête de réponse | Description | Exemple |
Custom Header | Créez un en-tête de réponse personnalisé en respectant les règles suivantes :
| Test-Header |
Content-Type | Spécifie le type de contenu renvoyé au client. | text/html |
Cache-Control | Spécifie la politique de mise en cache pour les requêtes et les réponses. | no-cache |
Content-Disposition | Nom de fichier par défaut lorsque la réponse est enregistrée en tant que fichier. | examplefile.txt |
Content-Language | Spécifie la langue du public cible. | en-US |
Expires | Spécifie la date d'expiration de la réponse. | Wed, 21 Oct 2015 07:28:00 GMT |
Pragma | En-tête spécifique à l'implémentation HTTP/1,0 compatible avec HTTP/1,1. Les effets varient tout au long de la chaîne requête-réponse. | no-cache |
Access-Control-Allow-Origin | Spécifie les origines autorisées pour les requêtes cross-origin. Utilisez * pour autoriser toutes les origines, ou saisissez des domaines spécifiques tels que Remarque
|
|
Access-Control-Allow-Methods | Spécifie les méthodes de requête autorisées pour les requêtes cross-origin. Séparez plusieurs méthodes par des virgules (,). | POST,GET |
Access-Control-Allow-Headers | Spécifie les champs d'en-tête autorisés pour les requêtes cross-origin. | X-Custom-Header |
Access-Control-Max-Age | Spécifie la durée pendant laquelle les résultats d'une requête préliminaire (preflight) peuvent être mis en cache. Unité : secondes. | 600 |
Access-Control-Expose-Headers | Spécifie les en-têtes exposés au client dans la réponse. | Content-Length |
Access-Control-Request-Method | Indique la méthode HTTP utilisée dans la requête réelle. Envoyé par les navigateurs lors des requêtes préliminaires. | POST |
Access-Control-Request-Headers | Indique les en-têtes HTTP utilisés dans la requête réelle. Envoyé par les navigateurs lors des requêtes préliminaires. | X-PINGOTHER |
Access-Control-Allow-Credentials | Spécifie si les requêtes CORS peuvent inclure des informations d'identification.
| true |