Combien de temps les fichiers sont-ils généralement conservés dans le cache d'un navigateur? Je me pose des questions sur la population en général. Combien de temps devrais-je attendre pour être raisonnablement certain que les caches de la plupart des gens vont récupérer le fichier?
Cela dépend beaucoup de la personne, du navigateur et des paramètres.
Les navigateurs réservent généralement une certaine quantité d’espace disque, telle que 12 Mio, à cette tâche. Si un utilisateur arrête d’utiliser le navigateur, c’est indéfiniment. S'il utilise rarement le navigateur, ce sera jusqu'à l'expiration, soit par une stratégie interne, soit par des en-têtes HTTP. S'il utilise beaucoup le navigateur, cela peut prendre 12 minutes ou même moins.
Je pense qu’il est difficile de dire «en général», car j’avais un site Web sur lequel 50% des entrées provenaient de Firefox et 49% d’Opera alors que IE détenait alors plus de 75% du marché. Si le public cible de votre site est constitué d’utilisateurs qui utilisent beaucoup leur navigateur, cela peut être très court. D'autre part, si votre site est uniquement le site Web visité, il peut être presque jamais.
En règle générale, les fichiers restent dans le cache jusqu'à épuisement de l'espace disponible. Il existe un article décrivant certaines des valeurs par défaut des navigateurs courants: Il est temps de repenser la taille du cache par défaut des navigateurs Web
Comme Maciej l'a déclaré, il est également question de la quantité de navigation de chaque personne. Pensez à la base d'utilisateurs qui visiteront votre site, ainsi qu'à la bande passante de votre site (si l'utilisateur moyen télécharge des tonnes de contenu de votre site, il est probable qu'il remplira son cache très rapidement).
Si une actualisation du cache est nécessaire, vous pouvez forcer la page à ne pas mettre en cache les fichiers.
Comme indiqué dans les autres réponses, cela dépend des paramètres du navigateur. Notez cependant que la mise en cache d'un fichier ne signifie pas nécessairement que les modifications ne sont pas extraites de votre site. S'il est configuré pour le faire, le navigateur envoie une demande au serveur, avec des détails sur la date du fichier cache. Le serveur répond ensuite avec la mention "ok, utilisez votre cache - sa version la plus récente" en l'absence de modifications. Cette réponse est petite et envoyée rapidement. Si la version du serveur a été mise à jour, le serveur répondra avec la nouvelle version.
La fréquence à laquelle le navigateur envoie une demande au serveur est spécifique à chaque navigateur. Ils peuvent être configurés pour rechercher des mises à jour à chaque fois, une fois par heure, une fois par jour, jamais ou ailleurs. Le serveur peut également spécifier la fréquence à laquelle le navigateur doit rechercher les mises à jour.
ceci est juste un croquis - il est simplifié et incomplet. Pour plus de détails, voir W3C - HTTP/1.1 Caching .
Dépend de combien de temps le serveur spécifie. Le serveur renvoie les paramètres dans l'en-tête de la réponse. Ils peuvent spécifier max-age (combien de temps mettre le fichier en cache avant son expiration en millisecondes) ou une date d'expiration (date d'expiration du fichier). S'il y a les deux, max-age aura la priorité.