Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

bfcache

La mémoire cache avant/arrière (ou bfcache) est une fonctionnalité d'optimisation des performances disponible dans les navigateurs modernes. Elle permet une navigation instantanée vers l'arrière ou l'avant entre les pages déjà visitées. Pour cela, le navigateur conserve un instantané complet de la page lorsque l'utilisateur·ice la quitte : il peut ainsi restaurer rapidement cet instantané si l'utilisateur·ice décide d'y revenir, sans devoir répéter les requêtes réseau nécessaires au rechargement de la page.

L'instantané contient toute la page en mémoire, y compris le tas JavaScript : le code en cours d'exécution est mis en pause lorsque l'utilisateur·ice quitte la page, puis repris à son retour. Une entrée classique du cache HTTP, en revanche, ne contient que les réponses aux requêtes précédentes. Le bfcache offre donc des résultats plus rapides que le cache HTTP.

L'inconvénient est que les entrées bfcache consomment plus de ressources et complexifient la gestion du code en cours d'exécution. Certaines fonctionnalités JavaScript (par exemple, le gestionnaire d'événement unload) ne sont pas compatibles : leur présence sur une page empêche l'utilisation du bfcache.

Le bfcache est excellent pour les performances : il est donc dans votre intérêt de veiller à ce que vos pages ne soient pas bloquées. Vous pouvez utiliser l'API notRestoredReasons pour surveiller si vos pages sont bloquées et en connaître la raison.

Voir aussi