Tous les produits
Search
Centre de documentation

CDN:Modify incoming response headers

Dernière mise à jour :Aug 31, 2026

Lorsque le cache d'un point de présence (POP) expire ou qu'une absence de cache se produit, le POP demande le contenu le plus récent au serveur d'origine. Le contenu et les en-têtes HTTP renvoyés par le serveur d'origine sont appelés en-têtes de réponse d'origine. Vous pouvez modifier ces en-têtes sur votre serveur d'origine pour définir une politique de mise en cache, configurer le partage de ressources cross-origin (CORS), etc. Cela vous permet d'optimiser la vitesse de chargement du site web, d'améliorer la sécurité du contenu, de contrôler l'accessibilité des ressources et d'offrir une meilleure expérience utilisateur.

Contexte

Les en-têtes de réponse HTTP font partie d'une réponse HTTP et transmettent des paramètres spécifiques au client.

Lorsque le contenu demandé par un utilisateur final n'est pas mis en cache sur un nœud CDN, le CDN effectue une récupération depuis l'origine (origin fetch) et le serveur d'origine envoie une réponse. Vous pouvez modifier les en-têtes HTTP dans cette réponse entrante. Par exemple, vous pouvez réécrire la valeur de l'en-tête Content-Type avant qu'elle ne soit transmise au client afin de garantir une analyse correcte. Si le serveur d'origine renvoie une valeur Content-Type incorrecte, le client risque de ne pas pouvoir analyser correctement le contenu. Vous pouvez résoudre ce problème en réécrivant l'en-tête sur le CDN.

image
Remarque
  • Une réponse entrante est le message HTTP qu'un serveur d'origine envoie à un nœud CDN. La modification des en-têtes de réponse entrants affecte uniquement le message HTTP envoyé du serveur d'origine au nœud CDN ; elle n'affecte pas les réponses que le nœud CDN sert à l'utilisateur final.

  • Vous ne pouvez pas modifier les en-têtes de réponse entrants pour les domaines génériques (wildcard).

Cas d'utilisation

Voici des cas d'utilisation courants et des exemples :

  • Type de contenu incorrect : si le type de contenu (Content-Type) renvoyé par le serveur d'origine ne correspond pas au contenu réel, le client peut ne pas pouvoir l'analyser correctement. Par exemple, un fichier HTML peut être incorrectement identifié comme du texte brut. Vous pouvez résoudre ce problème en configurant l'en-tête de réponse d'origine.

    Exemple : remplacez Content-Type: text/plain par Content-Type: text/html.

  • Contrôle de la politique de mise en cache : si vous avez besoin d'un contrôle précis de la politique de mise en cache du CDN, vous pouvez ajuster les champs Cache-Control ou Expires dans les en-têtes de réponse du serveur d'origine. Cela permet d'optimiser la fréquence de mise à jour du contenu et le taux de succès du cache.

    Exemple : remplacez Cache-Control: max-age=3600 par Cache-Control: max-age=86400 pour prolonger la durée d'expiration du cache. Pour plus d'informations sur les règles de mise en cache par défaut du CDN, consultez Règles de mise en cache par défaut et priorités d'Alibaba Cloud CDN.

  • Partage de ressources cross-origin (CORS) : si vous souhaitez autoriser des applications web provenant d'autres domaines à accéder aux ressources hébergées sur le CDN, vous devez configurer l'en-tête Access-Control-Allow-Origin et d'autres en-têtes CORS associés sur le serveur d'origine. Ces paramètres garantissent que lorsqu'un navigateur effectue une requête cross-origin, le CDN peut fournir les en-têtes de réponse appropriés au client pour éviter les erreurs CORS. Pour plus d'informations sur les problèmes d'accès cross-origin, consultez Configurer le partage de ressources cross-origin.

    Exemples :

    • Access-Control-Allow-Origin: * : autorise les requêtes de ressources cross-origin depuis tous les domaines.

    • Access-Control-Allow-Methods: GET, POST, OPTIONS : spécifie les méthodes HTTP autorisées pour les requêtes cross-origin.

  • Transfert compressé : si le serveur d'origine prend en charge le transfert compressé mais ne l'a pas activé, ou si l'algorithme de compression utilisé n'est pas le plus efficace, vous pouvez définir l'en-tête Accept-Encoding dans la réponse de retour vers l'origine pour indiquer au serveur d'origine d'utiliser la méthode de compression optimale.

    Exemple : remplacez Accept-Encoding: gzip, deflate par Accept-Encoding: br pour privilégier la compression Brotli. Pour plus d'informations, consultez Compression Brotli.

  • Redirection : lorsque votre serveur d'origine doit rediriger un utilisateur vers une autre URL, vous pouvez définir les en-têtes de redirection corrects dans l'en-tête de réponse d'origine. Pour plus d'informations, consultez Configurer le suivi de la redirection 301/302.

    Exemple : Location: https://www.example.com/new-page.html : notifie le CDN et le navigateur de l'utilisateur du nouvel emplacement de la ressource pour une redirection 301 ou 302.

  • Comportement d'origine personnalisé : vous pouvez avoir besoin d'ajouter des en-têtes personnalisés à la réponse pour implémenter des fonctions spécifiques ou à des fins de suivi.

Remarques

  • Plusieurs configurations sont exécutées de haut en bas dans l'ordre où elles apparaissent dans la liste de configuration. Les effets sont cumulatifs. Si plusieurs configurations modifient le même en-tête, la dernière a priorité. Dans l'exemple suivant, c'est la Configuration 2 qui s'applique :

    • Configuration 1 : Ajouter l'en-tête de réponse HTTP : cache-control: max-age=3600

    • Configuration 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

  1. Connectez-vous à la console CDN.

  2. Dans le volet de navigation de gauche, cliquez sur Domain Names.

  3. Sur la page Domain Names, recherchez le nom de domaine cible et cliquez sur Manage dans la colonne Actions.

  4. Dans le volet de navigation du domaine, cliquez sur Origin Fetch.

  5. Cliquez sur l'onglet Modify Incoming Response Header.

  6. Cliquez sur Customize.

  7. Modifiez les paramètres de l'en-tête de réponse entrant.

    Important

    Si plusieurs opérations s'appliquent au même paramètre d'en-tête de réponse d'origine, les opérations sont exécutées selon la priorité suivante : Replace > Add > Change et Delete. Par exemple, si une opération d'ajout et une opération de suppression sont configurées pour le même paramètre, l'opération d'ajout est exécutée avant l'opération de suppression.

    Ajouter un en-tête de réponse

    Paramètre

    Exemple

    Description

    Operation

    add

    Ajoute l'en-tête de réponse spécifié à la réponse d'origine.

    Response Header

    Custom Response Header

    Sélectionnez Custom Response Header ou un paramètre d'en-tête de réponse prédéfini.

    Header Name

    x-code

    Spécifie le nom de l'en-tête de réponse personnalisé.

    Header Value

    key1

    Saisissez une ou plusieurs valeurs d'en-tête, séparées par des virgules (,).

    key1,key2

    Allow Duplicates

    Autoriser

    • Yes : vous permet d'ajouter des en-têtes de réponse en double. Par exemple, x-code:key1 et x-code:key2.

    • No : si un en-tête portant le même nom existe déjà, la nouvelle valeur écrase la valeur existante. Par exemple, si vous ajoutez x-code:key1 puis x-code:key2, l'en-tête final est x-code:key2.

    Rule Condition

    Ne pas utiliser

    Une condition de règle identifie diverses informations de paramètre dans une requête utilisateur. Cela détermine si une configuration s'applique à cette requête.

    • Ne pas utiliser : n'utilise pas de condition de règle.

    • Pour ajouter ou modifier des conditions de règle, gérez-les dans le moteur de règles.

    Supprimer un en-tête de réponse

    Paramètre

    Exemple

    Description

    Operation

    delete

    Supprime tous les en-têtes de réponse portant le nom spécifié, y compris les doublons.

    Response Header

    Custom Response Header

    Sélectionnez Custom Response Header ou un paramètre d'en-tête de réponse prédéfini.

    Header Name

    x-code

    Spécifie le nom de l'en-tête de réponse personnalisé à supprimer.

    Rule Condition

    Ne pas utiliser

    Une condition de règle identifie diverses informations de paramètre dans une requête utilisateur. Cela détermine si une configuration s'applique à cette requête.

    • Ne pas utiliser : n'utilise pas de condition de règle.

    • Pour ajouter ou modifier des conditions de règle, gérez-les dans le moteur de règles.

    Modifier un en-tête de réponse

    Paramètre

    Exemple

    Description

    Operation

    modify

    Modifie l'en-tête. Cette opération n'est pas autorisée si des en-têtes en double portant le même nom existent.

    Response Header

    Custom Response Header

    Sélectionnez Custom Response Header ou un paramètre d'en-tête de réponse prédéfini.

    Header Name

    x-code

    Spécifie le nom de l'en-tête de réponse personnalisé à modifier.

    Change Value To

    key1,key3

    Spécifie la nouvelle valeur de l'en-tête. Pour configurer plusieurs valeurs, séparez-les par des virgules (,).

    Rule Condition

    Une condition de règle identifie diverses informations de paramètre dans une requête utilisateur. Cela détermine si une configuration s'applique à cette requête.

    • Ne pas utiliser : n'utilise pas de condition de règle.

    • Pour ajouter ou modifier des conditions de règle, gérez-les dans le moteur de règles.

    Remplacer un en-tête de réponse

    Paramètre

    Exemple

    Description

    Operation

    replace

    Remplace la valeur de l'en-tête. Cette opération n'est pas autorisée si des en-têtes en double portant le même nom existent.

    Response Header

    Custom Response Header

    Sélectionnez Custom Response Header ou un paramètre d'en-tête de réponse prédéfini.

    Header Name

    x-code

    Spécifie le nom de l'en-tête de réponse personnalisé dont vous souhaitez remplacer la valeur.

    Find

    key

    Une expression régulière qui correspond à la partie de la valeur de l'en-tête à remplacer.

    Replace With

    abc

    La valeur qui remplace le texte correspondant.

    Match

    Tout faire correspondre

    • Match All : remplace toutes les occurrences qui correspondent à l'expression régulière. Par exemple, si l'en-tête est x-code:key1,key2,key3 et que vous utilisez une expression régulière pour remplacer la valeur correspondante key par abc, le résultat est x-code:abc1,abc2,abc3.

    • Match the First Only : remplace uniquement la première occurrence qui correspond à l'expression régulière. Par exemple, si l'en-tête est x-code:key1,key2,key3 et que vous utilisez une expression régulière pour remplacer la valeur correspondante key par abc, le résultat est x-code:abc1,key2,key3.

    Rule Condition

    -

    Une condition de règle spécifie les critères qu'une requête utilisateur doit respecter pour que cette configuration s'applique.

    • Ne pas utiliser : aucune condition de règle n'est utilisée.

    • Pour ajouter ou modifier des conditions de règle, accédez à la page du moteur de règles.

  8. Cliquez sur OK.

En-têtes de réponse par défaut

Alibaba Cloud CDN définit quatre en-têtes de réponse par défaut : Cache-Control, Content-Type, Expires et Last-Modified. Ces en-têtes essentiels du protocole HTTP contrôlent la mise en cache, définissent les types de contenu, fixent les délais d'expiration et enregistrent la date de dernière modification des ressources.

En-tête

Description

Exemple

Cache-Control

Contrôle le comportement et la durée de la mise en cache d'une ressource. Il fournit des directives de mise en cache aux POP et aux navigateurs clients, en spécifiant quand mettre en cache le contenu, pendant combien de temps et quand il devient obsolète. Cet en-tête a priorité sur l'en-tête hérité Expires.

  • Cache-Control: no-cache force la validation avec l'origine avant d'utiliser une ressource mise en cache.

  • Cache-Control: max-age=3600 spécifie que la ressource est valide pendant 3600 secondes (1 heure) et peut être servie depuis le cache sans récupération depuis l'origine.

Content-Type

Spécifie le type de média d'une ressource. Cet en-tête aide le navigateur client à interpréter et à restituer correctement les données. Le CDN utilise également cet en-tête pour traiter et transférer le contenu.

  • Content-Type: text/html indique que le contenu est au format HTML.

  • Content-Type: image/jpeg indique que la ressource est une image JPEG.

Expires

Spécifie la date et l'heure d'expiration de la ressource. Le CDN utilise cet en-tête pour déterminer si la ressource est toujours valide. Si elle a expiré, le CDN effectue une récupération depuis l'origine pour obtenir une version mise à jour. L'en-tête Expires est un mécanisme hérité. Dans HTTP/1,1, l'en-tête Cache-Control offre un contrôle plus précis, et l'utilisation de Expires a diminué.

Expires: Thu, 01 Dec 2023 16:00:00 GMT indique que le contenu expire après l'heure GMT spécifiée.

Last-Modified

Indique l'heure de la dernière modification de la ressource. Le CDN et les navigateurs clients utilisent cet en-tête de réponse pour déterminer si une ressource mise en cache est toujours à jour.

Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT indique l'heure de la dernière modification de la ressource, qui est utilisée pour la validation du cache.

Exemples de configuration

Exemple 1 : Définir un type MIME de réponse

Cas d'utilisation

Définir un type MIME spécifique pour une réponse.

Remarque

Les types MIME incluent les catégories principales suivantes :

  • Texte : inclut les fichiers texte (tels que .txt et .csv) et les fichiers HTML (tels que .html, .htm et .shtml).

  • Image : inclut les fichiers image courants (tels que .jpg, .png et .gif).

  • Audio : inclut les fichiers audio (tels que .mp3 et .wav).

  • Vidéo : inclut les fichiers vidéo (tels que .mp4 et .avi).

  • Application : inclut les fichiers d'application (tels que .pdf, .doc et .xls).

Configuration

  • Opération d'en-tête de réponse : Ajouter

  • Nom de l'en-tête : Content-Type

  • Valeur de l'en-tête : text/html

    Définissez Allow Duplicates sur Do not allow et Rule Condition sur Do not use, puis cliquez sur OK.

Résultat : le POP ajoute l'en-tête Content-Type: text/html à la réponse du serveur d'origine. Si vous configurez à nouveau cet en-tête, la nouvelle valeur écrase la valeur existante.

Exemple 2 : Supprimer un en-tête de réponse

Cas d'utilisation

Suppression d'un en-tête de réponse.

Configuration

  • Opération d'en-tête de réponse : Supprimer

  • Nom de l'en-tête : Content-Type

    Définissez Allow Duplicates sur Do not allow et Rule Condition sur Do not use, puis cliquez sur OK.

Résultat : le POP supprime l'en-tête Content-Type de la réponse avant de la renvoyer au client.

Remarque

Si vous appliquez les configurations de l'Exemple 1 et de l'Exemple 2, le système ajoute d'abord puis supprime l'en-tête de réponse Content-Type: text/html . Par conséquent, le client reçoit la réponse sans type MIME spécifié.

FAQ

  • Pour les questions de dépannage (CORS, caractères illisibles, téléchargement/aperçu, Set-Cookie, type MIME JS, etc.), consultez Dépannage du cache.

  • Pour les questions de consultation (vérification ACAO de l'origine, configuration précise video/mp4, prise en charge des fichiers JS, état de synchronisation des fichiers, etc.), consultez FAQ sur la récupération depuis l'origine.