提问关于 HTTP Header中Cache-Control的一些问题

roast_soul 2011-06-17 01:36:03
在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代码是不能更改的啊??

就这些问题,高手指教。
...全文
335 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
八戒你又瘦了 2011-06-17
  • 打赏
  • 举报
回复
帮顶*2
roast_soul 2011-06-17
  • 打赏
  • 举报
回复
谁来帮我理一下,呵呵
roast_soul 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fangxinggood 的回复:]
缓存应该有服务端缓存和客户端缓存两大类
另外还分无条件缓存(通过过期时间控制)和有条件缓存(通过LastModified或者ETag是否变化控制)

Response 的 Cache-Control 是控制浏览器缓存行为的,即客户端缓存。
Request 的 Cache-Control 应该没什么用。
(也可能是我所知甚少,但还没看见客户端通过这个控制服务端的)

结合Cache-C……
[/Quote]

Http Request头由浏览器发出的,我们的asp.net代码是不是不能控制的。??
机器人 2011-06-17
  • 打赏
  • 举报
回复
缓存应该有服务端缓存和客户端缓存两大类
另外还分无条件缓存(通过过期时间控制)和有条件缓存(通过LastModified或者ETag是否变化控制)

Response 的 Cache-Control 是控制浏览器缓存行为的,即客户端缓存。
Request 的 Cache-Control 应该没什么用。
(也可能是我所知甚少,但还没看见客户端通过这个控制服务端的)

结合Cache-Control 控制的还有 Expires 头(过期时间)
另外,asp.net控制缓存可以通过 AspNetCacheProfile 特性结合Web.config中配置caching节控制。




roast_soul 2011-06-17
  • 打赏
  • 举报
回复
没人?
renyiqiu 2011-06-17
  • 打赏
  • 举报
回复
帮顶LZ

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧