2009-09-25 4 views
3

J'ai eu "dump" isp qui met toujours en cache les pages internet et son css pendant au moins 1 jour. Bien que le css/js dans le serveur a changé, les css présentés ne sont pas changés (j'ai effacé mon cache à chaque fois)comment empêcher css et js être mis en cache par le fournisseur de services Internet?

comment "dire" à mon ISP de ne pas mettre en cache certains fichiers comme css et js?

merci !!

au moment: j'utilise proxy pour vérifier un peu développé web afin qu'il ne soit pas mis en mémoire cache ..

Répondre

9

La façon dont le débordement de pile se résout ce problème est d'ajouter un paramètre version aux URL CSS et JS, qui se réfèrent à la version des fichiers référencés:

<link rel="stylesheet" href="http://sstatic.net/so/all.css?v=4542"> 

Chaque fois que les fichiers référencés changent, L'attribut href de la balise link est mis à jour dans le code HTML, prenant ainsi en charge la mise en cache et les fichiers référencés mis à jour.

+0

Comment récupérez-vous par programme la version que vous voulez de ce fichier référencé? Les mots clés Subversion se réfèrent uniquement au fichier dans lequel vous vous trouvez. – Clayton

+1

Au lieu d'utiliser un numéro de version, vous pouvez utiliser l'horodatage "last modified" du fichier de votre service. Ainsi, le fichier est mis en cache, mais une fois que vous modifiez le fichier, les clients n'utiliseront pas l'ancienne copie en cache. – Buttons840

1

Vous pouvez essayer d'ajouter une chaîne aléatoire à chaque demande d'un fichier externe comme: Où le code 1337 dans le code ci-dessus doit être généré de manière aléatoire pour chaque requête, par exemple, par exemple, le code 1337 dans le code ci-dessus.

<?php time() ?> 

ou quelque chose

0

Vous pouvez inclure ces documents directement dans vos fichiers HTML, entre <script> ou <style> tags. Il va évidemment rendre tous vos fichiers HTML plus gros, mais c'est essentiellement ce que vous demandez. C'est la seule façon de savoir à 100% que votre CSS et votre JS ne sont pas du tout mis en cache. C'est la seule façon de vous assurer à 100%.

Questions connexes