3. Le Champ Ciblé CDN-Cache-Control
Le champ d'en-tête de réponse CDN-Cache-Control est un champ ciblé (Section 2) qui permet aux serveurs d'origine de contrôler le comportement des caches CDN interposés entre eux et les clients séparément des autres caches qui pourraient gérer la réponse.
Il s'applique aux caches qui font partie d'un réseau distribué qui opère au nom d'un serveur d'origine (communément appelé CDN).
Les caches CDN qui utilisent CDN-Cache-Control transmettent généralement cet en-tête afin que les caches CDN en aval puissent également l'utiliser. Cependant, ils PEUVENT le supprimer lorsque cela n'est pas souhaitable (par exemple, lorsqu'ils sont configurés pour le faire car il est connu qu'il ne sera pas utilisé en aval).
3.1. Exemples
Par exemple, les champs d'en-tête suivants instruiraient un cache CDN (c'est-à-dire un cache avec une liste cible de [CDN-Cache-Control]) de considérer la réponse comme fraîche pendant 600 secondes, les autres caches partagés de considérer la réponse comme fraîche pendant 120 secondes, et tous les caches restants de considérer la réponse comme fraîche pendant 60 secondes :
Cache-Control: max-age=60, s-maxage=120
CDN-Cache-Control: max-age=600
Ces champs d'en-tête instruiraient un cache CDN de considérer la réponse comme fraîche pendant 600 secondes, tandis que tous les autres caches seraient empêchés de la stocker :
CDN-Cache-Control: max-age=600
Cache-Control: no-store
Parce que CDN-Cache-Control n'est pas présent, ce champ d'en-tête empêcherait tous les caches de stocker la réponse :
Cache-Control: no-store
Alors que ceux-ci empêcheraient tous les caches sauf les caches CDN de stocker la réponse :
Cache-Control: no-store
CDN-Cache-Control: none
(Notez que 'none' n'est pas une directive de cache enregistrée ; il est ici pour éviter d'envoyer un champ d'en-tête avec une valeur vide, qui serait ignorée.)