iis缓存设置方法详解

发布时间:2019-10-24编辑:脚本学堂
有关iis缓存的设置方法,cache-control头的参数设置,如何设置缓存生存时间,vary相当于asp.net中缓存参数。

iis缓存设置方法
1、可以缓存整个share工程(经测试iis中的缓存测试对aspx页面不起作用,估计与页面压缩的设置原理一样);
2、需要设置缓存的工程:
share,portal(根据iis日志分析报告中的“most requested directories”得出);

3、设置的方法:
第一步:
打开 iis 配置管理工具(internet 信息服务(iis)管理器)。
选中一个目录(或者网站,如果您想为所有站点配置,请选择点中“网站”那个图标),点“属性”按钮,会弹出一个配置窗口

第二步:
选择“HTTP 头” TAB 标签,然后您会看到:“自定义 HTTP 头”一栏。

第三步:
点旁边的“添加(D)...”按钮,来添加上那条命令。
在弹出的窗口中:“自定义 HTTP 头名(C)”中输入:“Cache-Control”,在“自定义 HTTP 头值(U)”中输入:“Must-revalidate”。

Cache-Control头的参数设置:
 

Public 响应会被缓存,并且在多用户间共享。
Private 响应只能够作为私有的缓存,不能再用户间共享。
No-cache 响应不会被缓存
No-store 响应不会被缓存,并且不会被写入到客户端的磁盘里,这也是基于安全考虑的某些敏感的响应才会使用这个。
Max-age=#seconds 响应将会某个指定的秒数内缓存,一旦时间过了,就不会被缓存。
Must-revalidate 响应会被重用来满足接下来的请求,但是它必须到服务器端去验证它是不是仍然是最新的。

注意:
如果在iis中配置缓存,请参阅文章:
How to Modify the Cache-Control HTTP Header When You Use IIS.
更多关于在asp.net中使用缓存的知识文章:
How To Cache in ASP.NET by Using Visual C# .NET.

如果在网站上更新文件,但是并没有更改文件名字,则必须要地设置缓存生存时间。

例如:如果要一个thisyear.gif图片文件显示当前的年份在网站上,需要保证这个缓存过期时间不能超过一天,否则一个用户在12月31号访问网站时,在1月1号就不能显示正确的日期。
由于某些原因,服务器可能会设置:Progma:no-cache 头,Cache-control:no-cache
Header中的参数:
Vary 是一个缓存信号,Vary:User-Agent表示缓存当前的响应,但是仅限于当发送同样的User-Agent 头的时候。
指令 Vary:* 就相当于Cache-Control:no-Cache。
Vary就相当于asp.net中的缓存的参数,即根据什么来缓存,建议研究下asp.net的缓存的使用方法,以加深对iis缓存配置的理解。