Utiliser des balises pour désactiver la mise en cache dans tous les navigateurs? [dupliquer]

cette question a déjà une réponse ici:

j'ai lu que lorsque vous n'avez pas accès aux en-têtes du serveur web, vous pouvez désactiver le cache en utilisant:

<meta http-equiv="Cache-Control" content="no-store" />

Mais moi aussi lisez que cela ne fonctionne pas dans certaines versions de IE. Il n'existe aucun ensemble de balises qui va désactiver le cache dans tous les navigateurs?

397
demandé sur Rao Adnan 2009-08-27 17:26:01
la source

6 ответов

pour les navigateurs Web modernes (après IE9)

voir le double indiqué en haut de la page pour des renseignements exacts!

voir la réponse ici: comment contrôler la mise en cache de page web, sur tous les navigateurs?


pour IE9 et avant

ne copiez pas aveuglément collez ceci!

La liste est juste des exemples de différents techniques, ce n'est pas pour direct insertion. Si copié, le second écrirait le premier et le le quatrième écrirait le troisième à cause du http-equiv déclarations et échec avec le validateur W3C. Tout au plus, on pourrait avoir une de chaque déclaration http-equiv; pragma, cache-control et expirer. Ceux-ci sont complètement dépassés lors de l'utilisation moderne des navigateurs. Après IE9 en tout cas. Chrome et Firefox spécifiquement ne fonctionne pas avec ce que vous attendez, si à tous.

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

en fait, ne les utilisez pas du tout!

Les en-têtes de mise en cache

ne sont pas fiables dans les méta-éléments; pour un, tous les mandataires web entre le site et l'utilisateur ignorera complètement ils. Vous devez toujours utiliser un vrai en-tête HTTP pour les en-têtes tels que Cache-Control et Pragma.

677
répondu CommonKnowledge 2018-07-01 00:14:16
la source

il s'agit d'un lien vers une grande étude de cas sur la compréhension générale de l'industrie à l'égard du contrôle des caches.

http://securityevaluators.com/knowledge/case_studies/caching /

En résumé, selon cet article, seuls les Cache-Control: no-store est reconnu par google Chrome, Firefox et IE. IE reconnaît d'autres commandes, mais pas Chrome et Firefox.

73
répondu Paul 2014-10-21 23:55:16
la source

ça ne marche pas dans IE5, mais ce n'est pas un gros problème.

cependant, les en-têtes de mise en cache ne sont pas fiables dans les méta-éléments; d'une part, n'importe quel mandataire web entre le site et l'utilisateur les ignorera complètement. Vous devez toujours utiliser un véritable en-tête HTTP pour les en-têtes tels que Cache-Control et Pragma.

25
répondu bobince 2009-08-27 17:30:50
la source

pragma est votre meilleur pari:

<meta http-equiv="Pragma" content="no-cache">
5
répondu Kshitij Saxena -KJ- 2009-08-27 17:30:18
la source

j'ai remarqué quelques problèmes de mise en cache avec les appels de service lors de la répétition du même appel de service (long polling). L'ajout de métadonnées n'ont pas les aider. Une solution consiste à passer un timestamp pour s'assurer que ie pense que c'est une demande de service http différente. Cela a fonctionné pour moi, donc ajouter un extrait de code de script côté serveur pour mettre à jour automatiquement cette balise ne ferait pas de mal:

<meta http-equiv="expires" content="timestamp">

4
répondu Elad Elrom 2016-02-15 09:27:17
la source

essayer d'utiliser

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="-1">
-3
répondu orf 2012-11-07 16:57:13
la source