Quelle est la différence entre Expires
et en- Cache-Control
têtes?
la source
Quelle est la différence entre Expires
et en- Cache-Control
têtes?
Cache-Control
a été introduit dans HTTP / 1.1 et offre plus d'options que Expires
. Ils peuvent être utilisés pour accomplir la même chose mais la valeur de données pour Expires
est une date HTTP alors que Cache-Control
max-age vous permet de spécifier une durée relative afin que vous puissiez spécifier "X heures après la demande de la page".
Le contrôle HTML Cache est une question très similaire et a un bon lien vers un tutoriel de mise en cache qui devrait répondre à la plupart de vos questions (par exemple, http://www.mnot.net/cache_docs/#EXPIRES ). Pour résumer, il Expires
est recommandé pour les ressources statiques comme les images et Cache-Control
lorsque vous avez besoin de plus de contrôle sur la façon dont la mise en cache est effectuée.
Si vous utilisez un CDN (Cloud Delivery Network), je vous recommande d'utiliser Cache-Control avec une durée maximale en secondes. Par exemple, Cache-Control: max-age = 604800. Cela évite les pics de requêtes vers votre serveur d'origine: Avec "Expire le mercredi 30 octobre 20xx 04:37:07 GMT", tous les navigateurs vous demanderont en même temps.
la source
cache-control
. Donc, je ne vois pas pourquoi il y aurait des pics de demandes lors de l'utilisationExpires:
Selon cet article de Google Developers, HTTP Caching :
la source
Cache-Control a été défini dans HTTP / 1.1, indique à tous les mécanismes de mise en cache du serveur au client s'ils peuvent mettre en cache cet objet. Elle est mesurée en secondes:
Cache-Control: max-age=3600
.Le
Expires
champ d'en-tête donne la date / heure après laquelle la réponse est considérée comme périmée. La valeur est un horodatage Expire date HTTP:Expires: Tue, 18 Jul 2017 16:07:23 GMT
.Si une réponse comprend un
Cache-Control
champ avec lamax-age
directive, un destinataire DOIT ignorer leExpires
champ.la source
Heroku devcenter a un excellent article sur ce sujet.
En citant,
la source
Sauf pour les options privées / publiques de CC, je ne vois aucune différence. Lorsque vous utilisez Expires comme "accès plus 1 an / mois / semaine / jour", cela fonctionne exactement de la même manière que CC.
la source
Si vous êtes toujours intéressé, je laisse cette recommandation directement des garçons de google. https://developers.google.com/speed/docs/insights/LeverageBrowserCaching Ils préfèrent Expire avant que Cache-Control
la source