<?php
header("Cache-Control: public");
header("Pragma: cache");
$offset = 30*60*60*24; // cache 1 month
$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT";
header($ExpStr);
echo date("Y-m-d l H:i:s A");
?>
J'ai configuré un cache pendant un mois, mais la durée d'affichage est différente à chaque fois que je l'actualise. Quel est le problème avec le code ?
Chaque fois que la page est actualisée, vous envoyez l'en-tête, et bien sûr il est mis à jour à chaque fois.
S'il y a un en-tête de cache sur l'en-tête http,
Lorsque le navigateur demande cette page, il apportera des en-têtes de requête tels que If-Modified, If-Match, etc.
Vous devez juger en fonction du contenu de l'en-tête If , oui Envoyer 304 Non modifié ou envoyer une nouvelle page.