通常在服务器端大家都已经做了很多缓存的工作,ASP.NET CACHE也好MemeryCache也好却总是忽略了客户端缓存。
因为大家都知道不管哪个client都会缓存已经访问过的站点,但是浏览器缓存时间都是短暂的,所以最好是自定义延长浏览器缓存。
这个时候就需要修改Http头信息了,头信息中有个字段:
Cache-Control:
no-cache
有很多办法可以修改头字段,比较方便通用的就是在web.config里设置,例如:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10.00:00:00"/>
</staticContent>
</system.webServer>
<system.web>
</system.web>
</configuration>
这里设置是文件的缓存生命为10天,对当前config目录下所有文件有效,如果需要对某个文件单独设置可以用<location>节来配置。
另外除了生命周期外还可以设置过期时间比如2014-12-12,我是比较喜欢生命周期,:)