Utilisation des en-têtes de cache HTTP pour optimiser les performances des sites Web PHP
Malgré la disponibilité de systèmes et de frameworks de cache avancés, il est parfois nécessaire d'implémenter le HTTP de base cachez les en-têtes pour améliorer les performances du site Web. En particulier pour les sites Web PHP 5.1.0, qui ne disposent pas de certaines capacités de cache, les en-têtes jouent un rôle essentiel.
En-têtes de cache efficaces pour les sites Web PHP
Pour activer une mise en cache efficace, envisagez les en-têtes suivants :
Implémentation des requêtes conditionnelles
En plus de définir les en-têtes de cache , il est essentiel de gérer les requêtes conditionnelles, telles que « If-Modified-Since » et « If-None-Match ». Ces requêtes permettent aux navigateurs de vérifier si le document a changé depuis une date précise ou si l'ETag a changé depuis leur dernière visite.
Si le contenu n'a pas changé, vous pouvez renvoyer un statut « 304 Non modifié ». code, indiquant que le navigateur peut continuer à utiliser la version mise en cache. Cette approche efficace minimise les téléchargements inutiles et accélère le chargement du site Web.
L'exemple de code PHP suivant montre comment gérer les requêtes conditionnelles :
$timestamp = /* PHP script to generate a unique timestamp */;
$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}\"");
}
En implémentant les en-têtes de cache et en traitant efficacement les requêtes conditionnelles, vous pouvez améliorer considérablement les performances et l'expérience utilisateur de votre site Web PHP.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3