Module 2 : Améliorer la vitesse d'un site mobile

2.3.5 Mise en cache HTTP

Récupérer quelque chose sur le réseau coûte du temps et de l'argent : les réponses volumineuses peuvent nécessiter de nombreux allers-retours entre le client et le serveur, ce qui retarde leur mise à disposition et leur traitement par le navigateur. Cela a également un coût en termes de données pour le visiteur. En conséquence, la capacité à mettre en cache et à réutiliser des ressources récupérées précédemment est un aspect essentiel de l'optimisation des performances.

Excellente nouvelle : chaque navigateur est fourni avec une mise en œuvre d'un cache HTTP. Il nous suffit donc de nous assurer que la réponse de chaque serveur fournit des directives d'en-tête HTTP correctes pour indiquer au navigateur quand et pendant combien de temps il peut mettre la réponse en cache.

Remarque : Si vous utilisez un système WebView pour récupérer et afficher du contenu en ligne dans votre application, vous aurez peut-être besoin de fournir des indicateurs de configuration supplémentaires pour vous assurer que le cache HTTP est activé, que sa taille est adaptée à votre situation, et que le cache est conservé. Consultez la documentation de la plate-forme et confirmez vos paramètres.

Lorsque le serveur renvoie une réponse, il émet également une collection d'en-têtes HTTP décrivant son type de contenu, sa longueur, ses directives de mise en cache, son jeton de validation, etc. Par exemple, dans l'échange ci-dessus, le serveur renvoie une réponse à 1 024 octets, demande au client de la mettre en cache pendant 120 secondes, et fournit un jeton de validation ("x234dff") qui peut être utilisé une fois que la réponse a expiré pour vérifier si la ressource a été modifiée.

Voici quelques conseils et techniques à garder à l'esprit lorsque vous travaillez sur la stratégie de mise en cache :

  • Utilisez des URL cohérentes : si vous affichez le même contenu sur des URL différentes, ce contenu sera récupéré et stocké plusieurs fois. Conseil : Notez que les URL sont sensibles à la casse.
  • Assurez-vous que le serveur fournit un jeton de validation (ETag) : les jetons de validation éliminent la nécessité de transférer les mêmes octets lorsqu'une ressource n'a pas changé sur le serveur.
  • Identifiez quelles ressources peuvent être mises en cache par des intermédiaires : celles dont les réponses sont identiques pour tous les utilisateurs sont d'excellentes candidates pour la mise en cache par un CDN et d'autres intermédiaires.
  • Déterminez la durée de mise en cache optimale pour chaque ressource : différentes ressources peuvent avoir différentes exigences en matière d'actualisation. Analysez et déterminez l'élément d'âge maximal adapté à chacune.
  • Déterminez la meilleure hiérarchie de cache pour votre site : la combinaison d'URL de ressources et d'empreintes digitales de contenu, ainsi que de durées de vie courtes ou nulles pour les documents HTML vous permet de contrôler la vitesse de récupération des mises à jour par le client.
  • Minimisez le brassage : certaines ressources sont mises à jour plus fréquemment que d'autres. Si une partie spécifique d'une ressource, telle qu'une fonction JavaScript ou un ensemble de styles CSS, est mise à jour fréquemment, pensez à fournir ce code dans un fichier distinct. Ainsi, le reste du contenu (par exemple, le code de bibliothèque qui n'est modifié que rarement) peut être récupéré dans le cache, et la quantité de contenu téléchargé est réduite à chaque fois qu'une mise à jour est récupérée.

Pour en savoir plus, cliquez ici.

Ces informations vous-ont elles été utiles ?
Comment pouvons-nous l'améliorer ?