J'a lu je ne sais plus trop où, qu'utiliser des include PHP (ou ASP, ou autre...) permettait de mettre une partie des données de la page dans le cache du navigateur.

Exemple classique :


<?php
include("header.inc.php"),
?>

<p>Contenu blah blah</p>

<?php
include ("footer.inc.php");
?>


Qu'en est-il vraiment ? Le code (X)HTML retourné par les scripts header.inc.php et footer.inc.php est-il vraiment mis en cache, et par quel(s) navigateur(s) ? Ça me paraît peu probable, étant donné que le navigateur n'a aucun moyen de faire la différence entre le code généré et le code statique... Mais si c'est le cas, qu'advient-il si c'est du code dynamique, qui change à chaque appel de la page ?
Bonjour !

Le navigateur n'aura pas de cache, par contre le serveur peut faire un cache du fichier généré, ainsi il n'a pas besoin de "recalculer" le fichier.
Administrateur
Bonjour aussi, Smiley rolleyes

Yop un include() ne peut être mis en cache par le navigateur car cette fonction PHP ne sert qu'à inclure un bout de texte/code dans un autre (la page en train d'être construite), Apache n'envoie au navigateur qu'un gros bloc d'octets qui est "la page" sans avoir besoin de savoir ce que PHP a bien pu faire pour la construire (include, appels à MySQL ou fsockopen, etc)

Ce qui peut être mis en cache dans le navigateur, c'est une feuille de style externe, une anim Flash, des images, une page pas modifiée depuis la dernière visite et annoncée comme telle par Apache, etc