2010-02-03 2 views
1

Je cherche un moyen de mettre en cache une page à la fois le client et le serveur tout en faisant varier le cache de sortie du serveur par un paramètre de chaîne de caractères "Version".Comment puis-je mettre en cache à la fois client et serveur lorsque VaryByParam! = "None"?

Avec ce tag:

<%@ OutputCache Duration="10" Location="Any" VaryByParam="none" %> 

Je reçois ces en-têtes:

HTTP/1.1 200 OK 
Cache-Control: public 
Content-Type: text/html; charset=utf-8 
Expires: Wed, 03 Feb 2010 02:29:24 GMT 
Last-Modified: Wed, 03 Feb 2010 02:29:14 GMT 
Server: Microsoft-IIS/7.5 
X-AspNet-Version: 4.0.21006 
X-Powered-By: ASP.NET 
Date: Wed, 03 Feb 2010 02:29:14 GMT 
Content-Length: 2364 

Ce fait exactement ce que je veux sur le côté client, mais du côté du serveur, il ne varie pas par " Version".

Pendant ce temps, avec ce tag:

<%@ OutputCache Duration="10" Location="Any" VaryByParam="Version" %> 

Je reçois ces en-têtes:

HTTP/1.1 200 OK 
Cache-Control: public, max-age=4 
Content-Type: text/html; charset=utf-8 
Expires: Wed, 03 Feb 2010 02:28:29 GMT 
Last-Modified: Wed, 03 Feb 2010 02:28:19 GMT 
Vary: * 
Server: Microsoft-IIS/7.5 
X-AspNet-Version: 4.0.21006 
X-Powered-By: ASP.NET 
Date: Wed, 03 Feb 2010 02:28:25 GMT 
Content-Length: 2352 

Ce fait exactement ce que je veux sur le côté serveur, mais le "vary *" forces en-tête de la navigateur pour recharger la page sur chaque demande.

Y a-t-il un moyen d'obtenir la mise en cache du côté du client et du serveur en faisant varier un paramètre?

Répondre

Questions connexes