在ASP.NET环境下,Cache-Control中的值是不是在IIS中可以设置?
或者使用web.config设置?Response.CacheControl可以设置HttpCacheability的枚举,但是在这些枚举中只有如下几种:
NoCache,Private,Server,ServerAndNoCache,Public,ServerAndPrivate。
而根据W3C中的定义,有很多种呢。如下:
cache-response-directive =
"public" ;
| "private" [ "=" <"> 1#field-name <"> ] ;
| "no-cache" [ "=" <"> 1#field-name <"> ];
| "no-store" ;
| "no-transform" ;
| "must-revalidate" ;
| "proxy-revalidate" ;
| "max-age" "=" delta-seconds ;
| "s-maxage" "=" delta-seconds ;
| cache-extension ; 还有就是客户端的Request.Header中也可以设置Cache-Control吗??它和Response的Cache-Control有什么区别?还有就是Http Request头是不是由浏览器发出的,我们的asp.net代码是不能更改的啊??就这些问题,高手指教。
或者使用web.config设置?Response.CacheControl可以设置HttpCacheability的枚举,但是在这些枚举中只有如下几种:
NoCache,Private,Server,ServerAndNoCache,Public,ServerAndPrivate。
而根据W3C中的定义,有很多种呢。如下:
cache-response-directive =
"public" ;
| "private" [ "=" <"> 1#field-name <"> ] ;
| "no-cache" [ "=" <"> 1#field-name <"> ];
| "no-store" ;
| "no-transform" ;
| "must-revalidate" ;
| "proxy-revalidate" ;
| "max-age" "=" delta-seconds ;
| "s-maxage" "=" delta-seconds ;
| cache-extension ; 还有就是客户端的Request.Header中也可以设置Cache-Control吗??它和Response的Cache-Control有什么区别?还有就是Http Request头是不是由浏览器发出的,我们的asp.net代码是不能更改的啊??就这些问题,高手指教。
解决方案 »
- 有网络缓存这一说法吗?
- 菜鸟提问 关于media player全屏的问题
- 有关参数的问题
- 一个特别傻的问题 怎么修改图标啊
- C#函数的基础问题
- 用socket作点对点通信,大家怎样实现可以同时发送接收文本信息和文件,是监听不同的端口号还是用其他什么方法
- OracleClient调用Oracle存储过程时怎么参数名需要与数据库里存储过程参数名一样
- 学习迭代的过程中( IEnumerable)遇到了一个奇怪的问题。
- 有谁能提供一个用C#+XML做的B/S结构的数据库管理系统吗?或者只是用C#做的B/S结构?
- 如何在datatable中,去掉一行。例如知道某行第几列的值,从而把这一行删掉?
- vml的webdings问题
- 用VS2005做一个以C#为语言的网站 “应输入类型、命名空间定义或文件尾”!
另外还分无条件缓存(通过过期时间控制)和有条件缓存(通过LastModified或者ETag是否变化控制)Response 的 Cache-Control 是控制浏览器缓存行为的,即客户端缓存。
Request 的 Cache-Control 应该没什么用。
(也可能是我所知甚少,但还没看见客户端通过这个控制服务端的)结合Cache-Control 控制的还有 Expires 头(过期时间)
另外,asp.net控制缓存可以通过 AspNetCacheProfile 特性结合Web.config中配置caching节控制。
Http Request头由浏览器发出的,我们的asp.net代码是不是不能控制的。??