Exploitation du cache pour améliorer les performances

La diffusion d'éléments de contenu, de ressources numériques et de sites doit tirer profit du cache de navigateur du visiteur pour améliorer les performances de diffusion de contenu et d'affichage dans le navigateur.

Les sites, thèmes, éléments de contenu et ressources numériques sont mis en mémoire cache pendant un certain temps dans le cache de navigateur du visiteur. Après la mise à jour d'un site, d'un thème, d'un élément de contenu ou d'une ressource numérique, une clé de cache-buster est modifiée dans l'URL pour que le navigateur extraie une URL différente et obtienne le nouvel élément.

La clé de cache aide à gérer l'utilisation du cache de navigateur en faisant référence uniquement aux ressources en cours. Bien que la clé de cache soit incluse dans l'URL, il s'agit d'un élément logique et non d'un emplacement physique (dossier) comme c'est souvent le cas. Lorsque la clé de cache est modifiée, elle ne pointe pas vers un emplacement physique différent pour rechercher la ressource, elle indique simplement au serveur d'extraire la version en cours de la ressource.

Les ressources peuvent être statiques, comme les fichiers CSS, JS et d'image, ou dynamiques, comme des données de page, de site et d'élément de contenu. Il existe cinq catégories de ressource pour créer un site Web :

  • Ressources de produit : il s'agit des ressources qui font partie du produit et qui sont mises à jour dès qu'une nouvelle version du produit est publiée ou qu'un patch est appliqué.

  • Ressources de site : il s'agit des ressources qui font partie du site, comme le fichier structure.json, les données de page et les images. Elles sont mises à jour lorsque le site est publié. Le contrôleur est décrit dans le texte suivant.

  • Ressources de thème : il s'agit des ressources qui font partie des thèmes, comme les présentations, le fichier CSS et les images. Elles sont mises à jour lorsque le thème est publié.

  • Ressources de composant : il s'agit des ressources qui font partie des composants personnalisés. Elles comprennent les fichiers HTML, JS et CSS et les fichiers d'image qui constituent le composant. Elles sont mises à jour lorsque le composant est publié. Si un composant est modifié ou publié de nouveau, la clé de cache est modifiée pour tous les composants car il n'existe qu'une seule clé pour tous les composants.

  • Ressources CaaS : il s'agit des ressources qui fournissent des éléments de contenu et des éléments numériques. Elles sont mises à jour lorsque les éléments de contenu sont publiés ou publiés de nouveau ou que la cible de collecte est modifiée.

Les rubriques suivantes décrivent la mise en mémoire cache pour l'exécution d'Oracle Content Management et le générateur de site :

Mise en mémoire cache d'exécution

Pour l'exécution, l'en-tête Cache-Control Oracle Content Management est défini sur 15 jours. Une clé de cache est ajoutée à l'URL pour toutes les ressources.

Tant que l'URL est la même, le navigateur traite la ressource à partir de son cache local si disponible. Lorsque la ressource est mise à jour, la clé de cache est mise à jour dans l'URL, ce qui force le navigateur à effectuer une nouvelle demande au serveur et à mettre à jour le cache local.

Le contrôleur, qui contient les clés de cache, est également mis en mémoire cache pendant 1 minute. Par conséquent, toute clé de cache mise à jour ne sera pas visible pendant 1 minute.

Lors de l'exécution, le serveur renvoie controller.html avec les dernières clés de cache pour le produit, le site, le thème, les composants et les ressources CaaS. Un script avec des clés est ajouté à controller.html, par exemple :

<script type="text/javascript">
        var SCSCacheKeys = {
                        product: '123',
                        site: '456',
                        theme: '789',
                        component: '012',
                        caas: '345'

        };

</script> 

Ces clés sont utilisées par controller.js pour créer des URL comme celles présentées dans le tableau suivant.

Type de ressource Exemples 
Ressources de produit
/sitePrefix/productCacheKey/_sitesclouddelivery/...
/mySite/_cache_947d/_sitesclouddelivery/
Ressources de thème
/sitePrefix/themeCacheKey/_themesdelivery/themeName/...
Ressources de composant
/sitePrefix/compCacheKey/_compdelivery/compName/...
Ressources de site
/sitePrefix/siteCacheKey/content/...
/sitePrefix/siteCacheKey/structure.json
/sitePrefix/siteCacheKey/pages/100.json
Ressources CaaS
RegularCaaSUrl?cacheKey=caasCacheKey

Grâce à l'insertion de la clé de cache dans des URL comme celles mentionnées ci-dessus, Oracle Content Management peut forcer le navigateur à charger les ressources mises à jour en modifiant effectivement l'URL de sorte que le navigateur pense qu'il s'agit réellement d'une nouvelle ressource.

Remarque :

Pour les sites sécurisés, uniquement le produit, le thème et les ressources de composant sont mis en mémoire cache. Le contenu du site et le contenu CaaS ne le sont pas.

Mise en mémoire cache du générateur de site

Dans le générateur de site, les ressources statiques sont mises en mémoire cache pendant 15 jours.

Le produit, le thème et les ressources de composant sont mis en mémoire cache lorsque vous utilisez le générateur de site. (Le site et les ressources CaaS ne le sont pas.) Les clés de cache de composant et de thème sont régénérées lorsque le générateur de site est lancé ou actualisé.

Si vous effectuez des modifications sur un thème ou un composant et souhaitez que ces modifications apparaissent dans le générateur de site, vous devez actualiser ce dernier (F5).