如何设置IIS缓存 本帖最后由 jiangsheng 于 2010-08-01 05:26:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 .测试,可以缓存整个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-cacheHeader中的参数:Vary 是一个缓存信号,Vary:User-Agent表示缓存当前的响应,但是仅限于当发送同样的User-Agent 头的时候。指令 Vary:* 就相当于Cache-Control:no-Cache。Vary就相当于asp.net中的缓存的参数一样,意思是根据什么来缓存,如果要是知道asp.net的缓存的使用方法,就很容易明白这个参数的意思。 如何设计右下角定时弹出提示窗口? 求各位大侠帮忙 GridView导出Excel问题 简单的SQL问题 奇怪的html的table的属性的值的设置的问题??? 某公司的几个面试题,请帮忙悄悄! 请问如何取消objectDatasource的上传事件啊? 如何在Session_End事件中抓到SessionID 请问:我的.NET不能运行了,一运行就出错!急!!!! 哪里有有ASP权限的免费主页空间? 为url重写而心烦 高分求救,如何使用.net修改web.config中appSettings配置节点的参数
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的缓存的使用方法,就很容易明白这个参数的意思。