Éviter la mise en cache des réponses http
Quelle est la solution définitive pour éviter toute forme de mise en cache de données http? Nous pouvons modifier le client ainsi que le serveur donc je pense que nous pouvons diviser la tâche entre le client et le serveur.
Client pouvez ajouter à chaque demande d'un paramètre aléatoire http://URL/path?rand=6372637263
– Mon sentiment est que l'utilisation de cette seule manière qu'il ne fonctionne pas à 100% - peut-être il y a quelques intelligent procurations, qui peut détecter la... de l'autre côté je pense que si l'URL est différente de la précédente, le proxy ne peut pas simplement décider à envoyer à ramener la réponse en cache.
Sur serveur peut contrôler beaucoup d'en-têtes HTTP:
Expires: Tue, 03 Jul 2001 06:00:00 GMT
Last-Modified: {now} GMT
Cache-Control: no-store, no-cache, must-revalidate, max-age=0
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Des commentaires à ce, quelle est la meilleure approche?
Vous devez vous connecter pour publier un commentaire.
Côté serveur de cache-têtes de contrôle devrait ressembler à:
D'éviter une réécriture des Url sur le client, car il pollue les caches et les causes étranges questions sémantiques. En outre:
Utiliser un
Cache-Control
en-tête (voir la rfc 2616) parce que le comportement à entrées multiples est pas défini. Aussi la MSIE entrées dans le deuxième cache-control sont au mieux, redondant.no-store
est à propos de la sécurité des données. (il seulement les moyens de ne pas écrire ce disque - caches sont encore autorisés à stocker la réponse en mémoire).Pragma: no-cache
est dénuée de sens dans une réponse du serveur - c'est un en-tête de requête ce qui signifie que tous les caches de la réception de la demande doit transmettre à l'origine.À l'aide de deux
Expires (http/1.0)
etcache-control (http/1.1)
n'est pas superflu, puisque les procurations existent qui ne parlent que http/1.0, ou ne dévalue le protocole.Techniquement, la dernière modification de l'en-tête est redondant dans la lumière de
no-cache
, mais c'est une bonne idée de le laisser là.Certains navigateurs vont ignorer les directives ultérieures en-tête cache-control après ils viennent à travers une ils ne reconnaissent pas - afin de mettre les choses importantes en premier.
Expires: Tue, 03 Jul 2001 06:00:00 GMT
- ce que ce seraExpires: Thu, 01 Jan 1970 00:00:00 GMT
?L'ajout de l'en-tête
garanties, qu'séjour rêve cache ne cache cette demande.
Je voudrais vous recommandons de Fabien Potencier conférence sur la mise en cache: http://www.slideshare.net/fabpot/caching-on-the-edge