2010-10-29 1 views
0

Nous avons activé la mise en cache des ressources statiques dans notre application ASP.NET comme ceci:Comment activer le cache IIS de manière à ce que les navigateurs ne vérifient même pas si la ressource a changé?

<system.webServer> 
    <staticContent> 
     <clientCache cacheControlMode="UseExpires" httpExpires="Thu, 29 Oct 2020 00:00:00 GMT" /> 
    </staticContent> 
    </system.webServer> 

l'aide d'un sniffer, nous pouvons confirmer que l'étiquette Expires est effectivement placé sur l'en-tête du respose.

Cependant, les navigateurs insistent pour demander au serveur de vérifier si la ressource a été modifiée ou non. Le serveur renvoie un code non modifié (304). Ceci est, en effet, une demande très légère mais nous sommes très préoccupés par les performances, donc nous aimerions enregistrer ces demandes.

Comment puis-je dire aux brosers qu'ils ne devraient même pas demander le serveur? PS: Les balises ETAG sont correctement envoyées au client

Je pensais que si je les supprimais les navigateurs pourraient en quelque sorte cesser de demander le serveur, mais je ne pouvais pas supprimer ces balises sur IIS 7. Je ne sais pas si cela aiderait de toute façon.

Répondre

2

Quelque chose n'augmente pas, ce que vous avez décrit devrait être suffisant pour éliminer le comportement If-Modified-Since/304. Pouvez-vous inclure tous les en-têtes de réponse afin que nous puissions y regarder de plus près?

Notez également que frapper « Actualiser » causerait ce que vous avez décrit - ce que vous devriez tester est un réel lien vers la page en question. FYI, j'ai posté une question similaire il y a quelques temps (1), sauf que je voyais le contraire: l'interaction normale If-None-Match/304 a été optimisée par le navigateur (dans la même session).

(1) ETags, IIS7, Kernel Cache Policy (enableKernelCache)

+0

Merci Nariman. Avant de poster des en-têtes de réponse, je vais tester le 'lien vers la page' comme vous l'avez décrit. Je frappe F5. Je ne sais pas comment je n'y avais pas pensé auparavant, ça a du sens. Je vais tester et revenir à vous. –

+0

Ça doit être ça. – Nariman

+0

Ca a marché .. merci beaucoup –

Questions connexes