2010-10-14 4 views

Répondre

10

Pour forcer la mise à jour si elle est déjà dans le cache du navigateur. le v est probablement court pour la version.

7

développiez Simon's correct answer ...

Souvent économiser la bande passante, les feuilles de style (entre autres actifs du site) envoyer des en-têtes au navigateur qui disent qu'ils expirent longtemps à partir de maintenant (souvent un an). Ils envoient également l'en-tête 304 non modifié.

C'est génial, mais que se passe-t-il si quelqu'un veut mettre à jour la feuille de style? Si elle était demandée comme style.css, et que les demandes suivantes étaient à style.css, l'utilisateur final ne le redélirait jamais (pas pendant un an de toute façon). Pour lutter contre cela, vous pouvez ajouter une chaîne de requête qui change lorsque le fichier le fait. Par exemple, il peut être facilement fait en PHP

<?php 
    $file = 'style.css'; 
?> 

<style type="text/css" rel="stylesheet" href="<?php echo $file . '?v=' . filemtime($file); ?>" /> 

Maintenant, lorsque le fichier est mis à jour, les changements de chaîne de requête et le fichier est redownloaded à tous les utilisateurs finaux. Il ne sera pas téléchargé à nouveau jusqu'à ce que (a) l'heure d'expiration soit écoulée ou (b) la chaîne de requête change à nouveau.