Les en-têtes de réponse sortants sont des composants de la réponse HTTP contenant des paramètres qui contrôlent le comportement de mise en cache du client. En modifiant ces en-têtes, CDNDCDN inclut vos en-têtes configurés dans les réponses aux requêtes adressées à votre nom de domaine accéléré. Cela vous permet de mettre en œuvre des fonctionnalités telles que le partage des ressources entre origines (CORS).
Informations générales
Les en-têtes de réponse sortants constituent un mécanisme du protocole HTTP permettant de contrôler la mise en cache. Lorsqu'un client demande une ressource, les en-têtes de réponse HTTP provenant des points de présence (POP) CDNDCDN permettent aux clients de mettre en cache le contenu sous certaines conditions.
Les configurations d'en-tête de réponse HTTP sont spécifiques à chaque domaine. Cette configuration s'applique aux réponses pour toutes les ressources associées au nom de domaine.
La configuration des en-têtes de réponse HTTP affecte uniquement le comportement des clients, tels que les navigateurs. Elle n'affecte pas le comportement de mise en cache des POP CDNDCDN. Cette fonctionnalité n'est pas prise en charge pour les noms de domaine génériques.
Cas d'utilisation
Informer le client du type de ressource d'un fichier de réponse : Ajoutez l'en-tête de réponse
Content-Type: text/htmlpour indiquer au client que le fichier de réponse CDNDCDN est au format HTML.Activer l'accès aux ressources entre origines : Lorsqu'un utilisateur demande des ressources depuis un nom de domaine sur CDNDCDN, vous pouvez configurer l'en-tête de réponse
Access-Control-Allow-Origindans la réponse renvoyée par CDNDCDN afin d'activer l'accès entre origines. Pour plus d'informations, consultez la rubrique Configurer le partage des ressources entre origines. Alibaba Cloud CDNDCDN prend également en charge la validation des requêtes entre origines reçues sur la base des règles CORS configurées, permettant ainsi un contrôle d'accès aux ressources entre origines plus flexible.Personnaliser le comportement des réponses : Ajoutez ou modifiez des en-têtes personnalisés pour ajuster le contenu et le format des réponses clientes selon vos besoins métier.
Ordre d'exécution des règles
Lorsque plusieurs règles ciblent le même en-tête, les règles sont appliquées de haut en bas et la dernière règle correspondante prend effet.
Exemple :
|
Règle |
Opération |
En-tête |
Valeur |
Résultat |
|
Règle 1 |
Ajouter |
|
|
Appliquée en premier |
|
Règle 2 |
Ajouter |
|
|
Appliquée en second, l'emporte |
Résultat : cache-control: no-cache
Procédure
Connectez-vous à la console CDN.
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 Manage dans la colonne Actions.
Dans le volet de navigation du domaine, cliquez sur Cache.
Cliquez sur l'onglet POP HTTP Response Header.
-
Cliquez sur Customize pour modifier un en-tête de réponse sortant.
L'exemple suivant montre comment ajouter un en-tête de réponse sortant.
Paramètre
Description
Operation
Action à effectuer sur l'en-tête de réponse spécifié. Vous pouvez sélectionner Add, Delete, Change ou Replace.
Response Header
Sélectionnez un paramètre d'en-tête de réponse. Pour plus d'informations, consultez la section Paramètres d'en-tête de réponse.
Header Name
Ce paramètre est disponible uniquement lorsque Custom est sélectionné pour le paramètre Response header. Un nom d'en-tête personnalisé doit respecter les exigences suivantes :
Il peut contenir des lettres, des chiffres et des traits d'union (-).
Sa longueur doit être comprise entre 1 et 100 caractères.
Header Value
Saisissez la valeur de l'en-tête de réponse. Pour plus d'informations, consultez la section Paramètres d'en-tête de réponse.
Allow Duplicates
Yes : Conserve l'en-tête du serveur d'origine et ajoute un nouvel en-tête portant le même nom.
No : L'en-tête du serveur d'origine est écrasé par le nouvel en-tête configuré portant le même nom.
CORS
La validation CORS est désactivée par défaut. Ce paramètre ne peut être configuré que lorsque Operation est défini sur Add et que Response Header est défini sur Access-Control-Allow-Origin.
Enable : Lorsque cette option est activée, les POP valident les requêtes entre origines par rapport à vos règles. Elles répondent ensuite avec une valeur
Access-Control-Allow-Originbasée sur le résultat de la validation.Disable : Si vous désactivez la validation CORS, les POP ne valident pas l'en-tête Origin dans les requêtes clientes. Les POP répondent uniquement avec la valeur Access-Control-Allow-Origin configurée.
Pour plus d'informations sur les règles de validation CORS, consultez la section Règles de validation CORS.
Rule Condition
Une condition de règle détermine si une configuration s'applique à une requête en évaluant divers paramètres de la requête.
ImportantLorsqu'une fonctionnalité fait référence à des conditions de règle configurées dans le moteur de règles, l'ordre d'exécution suit la priorité des conditions de règle associées, et non l'ordre des configurations de fonctionnalité.
Do not use conditions : Désactive les règles conditionnelles.
Vous pouvez ajouter ou modifier des règles conditionnelles dans Rules engine.
-
Cliquez sur OK pour enregistrer la configuration.
Après avoir modifié l'en-tête de réponse sortant, vous pouvez retrouver la configuration actuelle dans la liste POP HTTP Response Header et cliquer sur Modify ou Delete pour gérer la configuration.
Règles de validation CORS
Les paramètres Allow Duplicates et CORS sont mutuellement exclusifs. Si Allow Duplicates est défini sur Yes, la validation CORS est désactivée.
Correspondance générique : Lorsque l'en-tête de réponse personnalisé
Access-Control-Allow-Originest défini sur*, le serveur renvoie toujoursAccess-Control-Allow-Origin:*indépendamment du fait que la requête inclue l'en-têteOriginou de la valeur de l'en-têteOrigin.-
Correspondance exacte : La valeur du paramètre d'en-tête de réponse
Access-Control-Allow-Originest définie sur une seule valeur ou sur plusieurs valeurs séparées par des virgules (,).Si l'en-tête
Originde la requête cliente correspond exactement à une valeur configurée, la réponse inclut l'en-tête CORS correspondant.Si aucune correspondance exacte n'est trouvée, la réponse n'inclut pas d'en-tête CORS.
Correspondance de nom de domaine générique : Si la valeur du paramètre d'en-tête de réponse
Access-Control-Allow-Originest définie sur un nom de domaine générique, le POP valide si la valeur Origin dans l'en-tête de la requête cliente correspond au nom de domaine générique spécifié pourAccess-Control-Allow-Origin.
Pour plus d'informations sur la configuration de ces règles, consultez la rubrique Configurer CORS.
Paramètres d'en-tête de réponse
Paramètre | Description | Exemple |
Custom | Prend en charge les en-têtes de réponse personnalisés. Un nom d'en-tête personnalisé doit respecter les exigences suivantes :
| Test-Header |
Cache-Control | Spécifie le mécanisme de mise en cache que les requêtes et réponses clientes doivent suivre. | no-cache |
Content-Disposition | Spécifie le nom de fichier par défaut lorsqu'un client enregistre le contenu demandé sous forme de fichier. | examplefile.txt |
Content-Type | Spécifie le type de contenu de l'objet de réponse pour le client. | text/plain |
Pragma | En-tête général défini dans HTTP/1,0. Cet en-tête est généralement utilisé dans les réponses du serveur pour définir le comportement de mise en cache côté client. | no-cache |
Access-Control-Allow-Origin | L'en-tête
|
|
Access-Control-Allow-Methods | Spécifie les méthodes autorisées pour les requêtes entre origines. Séparez plusieurs méthodes par des virgules ( | POST,GET |
Access-Control-Allow-Headers | Spécifie les en-têtes autorisés pour les requêtes entre origines. | X-Custom-Header |
Access-Control-Expose-Headers | Spécifie les en-têtes personnalisés auxquels le client peut accéder. | Content-Length |
Access-Control-Allow-Credentials | Indique si le navigateur peut exposer la réponse aux scripts côté client.
| true |
Access-Control-Max-Age | Spécifie la durée de mise en cache du résultat de la requête préliminaire pour une ressource spécifique. Unité : secondes. | 600 |
Vous pouvez définir la valeur de l'en-tête de réponse sur « * », ce qui indique n'importe quelle origine.
Si la valeur de l'en-tête de réponse n'est pas « * », vous pouvez spécifier une ou plusieurs adresses IP ou noms de domaine. Séparez-les par des virgules (,).
Si la valeur de l'en-tête de réponse n'est pas « * », la valeur doit commencer par « http:// » ou « https:// ».
Vous pouvez inclure un numéro de port dans la valeur de l'en-tête de réponse.
Vous pouvez utiliser un nom de domaine générique comme valeur d'en-tête de réponse.