RealET a écrit :
Source :
...
Resources with a "?" in the URL are not cached by some proxy caching
C'est exactement ce que j'ai dit, on le sait, rien de nouveau
cache - URL with query disables caching? - Webmasters Stack Exchange
indique que ça peut aussi poser problème avec FireFox
indique qu'il peut y avoir des collisions de cache sur les ressources dont le nom diffère très peu, sur les derniers caractères uniquement.
Ça n'a rien a voir avec une perte de cache, c'est limité, et dans notre cas ce n'est pas du tout gênant puisque 2 ressources qui diffèrent uniquement par le timestamp sont en fait 2 ressources qui n'existent pas à un même moment dans le site. Le fait que la dernière écrase le cache de la précédente ne peut poser des problèmes que dans des use-case très limité et temporaire.
C'est un faux problème dans notre cas (et de l'info super fraiche d'il y a 4 ans)
Ici, je vois une idée que je trouve intéressante (via .htaccess)
au lieu de mettre un paramètre dans l'url, la valeur est lise
directement dans le nom du fichier, et le htaccess fait que la valeur
est ignorée.
javascript - File Caching: Query string vs Last-Modified? - Stack Overflow
Bref, je te remercie de m'avoir poussé à chercher plus avant car grâce à
toi, j'ai trouvé une idée qui me semble allier le meilleur :
Merci, c'est gentil de continuer à présumer que tout le boulot qu'on fait est purement hasardeux et qu'on a pas fait ce travail de recherche en amont (que je t'ai forcé à faire ici pour documenter ton affirmation gratuite)
Oui, l'insertion d'un timestamp dans le nom du fichier combiné avec une réécriture par htaccess est meilleure que le simple timestamp en query-string.
Je fais ça sur les sites pour lesquels je veux les meilleures webperf possibles et quand je maitrise l'environnement, et il y a tout ce qu'il faut pour le gérer avec SPIP.
Mais encore une fois il faut distinguer l'optimum que tu peux atteindre dans une solution sur-mesure et le meilleur compromis possible que tu peux utiliser dans du code qui sera mis entre toutes les mains, à des niveaux de compétences divers, et dans des environnements logiciels tout aussi divers.
En tenant compte de toutes les contraintes, notamment que tous les hebergeurs ne supportent pas les htaccess (certains pour des raisons de secu, d'autre parce que nginx au lieu de apache etc…), le timestamp en query-string est une bonne pratique, qu'il faut appliquer.
D'autant plus qu'elle est ensuite facilement upgradable :
* avec une fonction qui transforme tous les .xxx?12345 en .12345.xxx sur la sortie de SPIP
* et une règle htaccess
Et je te rappelle qu'on ton mail initial était de la forme "ton truc ça marche pas ça casse tout", sans aucune argumentation ni justification, et que c'est vraiment pénible comme attitude.
Soit tu as des éléments tangibles et tu fais un mail de discussion étayé, soit tu n'en sais rien et tu poses la question.
Mais ce genre de mail affirmatif-erroné ne fait que générer du bruit, et ensuite quelqu'un (toi par exemple) le ressort plusieurs mois ou années plus tard en le prenant pour argent comptant "là il dit que ça casse tout et personne n'a contesté".
Cédric