Pour les sites Web dont le contenu est largement statique, la mise en œuvre d'en-têtes de cache HTTP peut améliorer considérablement les performances. PHP fournit plusieurs fonctions intégrées pour vous aider dans cette tâche.
Pour activer la mise en cache, pensez à utiliser les en-têtes suivants :
À optimisez davantage les performances, gérez les requêtes conditionnelles :
<code class="php">$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT'; $etag = $language . $timestamp; $if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : false; $if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] : false; if ((($if_none_match && $if_none_match == $etag) || (!$if_none_match)) && ($if_modified_since && $if_modified_since == $tsstring)) { header('HTTP/1.1 304 Not Modified'); exit(); } else { header("Last-Modified: $tsstring"); header("ETag: \"{$etag}\""); }</code>
Si l'en-tête If-None-Match correspond à l'ETag ou si le Si l’en-tête If-Modified-Since correspond à la date Last-Modified, une réponse 304 Not Modified est renvoyée, indiquant que le contenu mis en cache est suffisant. Sinon, le serveur renvoie le dernier contenu.
En implémentant ces en-têtes de cache, vous pouvez réduire considérablement la charge sur votre serveur Web et améliorer l'expérience utilisateur avec des chargements de pages plus rapides.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!