2010-02-03 5 views
1

Я ищу способ кэширования страницы как у клиента , так и сервера при изменении кэша вывода сервера параметром querystring «Версия».Как кэшировать как на сервере, так и на сервере, когда VaryByParam! = "None"?

С этим тегом:

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

Я получаю эти заголовки:

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 

Это именно то, что я хочу на стороне клиента, но на стороне сервера не зависит от " Версия".

Между тем, с этим тегом:

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

Я получаю эти заголовки:

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 

Это именно то, что я хочу на стороне сервера, но "Vary: *" заголовок вынуждает браузер для перезагрузки страницы по каждому запросу.

Есть ли способ получить кеширование как на стороне клиента, так и на стороне сервера при изменении параметра?

ответ