Le fait d'avoir une chaîne de requête attachée à une URL empêche-t-il les navigateurs de la mettre en cache? Par exemple, mon site fait quelque chose comme ceci:
/radar-picture.png?v=sep2013
Et il semblerait que FireFox ne cache jamais cette image; il est téléchargé à chaque demande.
J'aimerais que FireFox le mette en cache aussi longtemps qu'il le souhaite. Je veux seulement le forcer à télécharger lorsque le v=
paramètre a changé.
cache
query-string
M. Smith
la source
la source
radar-picture-sep2013.png
et quand il changera à un moment donné dans le futur, il le seraradar-picture-jan2014.png
. Vous pouvez configurer l'âge maximum du PNG sur un an, donc à moins que le nom de fichier ne change, le navigateur peut charger l'image mise en cache pendant une longue période.Réponses:
L'ajout d'une paire clé / valeur de chaîne de requête à une ressource statique (telle qu'une image, CSS ou JavaScript) peut entraîner des problèmes de mise en cache .
Plus précisément, puisque vous avez mentionné Firefox , votre problème pourrait être lié à une «collision de cache», où:
[Source: https://developers.google.com/speed/docs/best-practices/caching ]
la source
Cette réponse sur stackoverflow affirme que certains navigateurs réagissent différemment au fait d'appuyer sur Entrée dans la barre d'adresse par rapport à un clic sur un lien lorsque l'URL a une chaîne de requête: https://stackoverflow.com/a/85386/1145388
Lorsque vous testez, assurez-vous de cliquer sur les liens plutôt que d'actualiser ou d'appuyer sur Entrée dans la barre d'URL.
la source
style.css?v=sep2013
et les 150 Kobackground-image:url('bgimage.jpg?v=sep2013');
, la navigation sur le site (en cliquant sur les liens ou en tapant la barre d'adresse) est très lente dans FireFox.