【问题标题】:Do fancy MVC URLs affect how caching is done?花哨的 MVC URL 会影响缓存的完成方式吗?
【发布时间】:2010-09-12 23:06:59
【问题描述】:
在阅读clearing cache for JS files 上的问题的一些答案时,有人指出了http spec 的这一部分。它基本上说 URLS 包含一个?除非给出特定的到期日期,否则不应从缓存中提取。在 MVC 网站(RoR、ASP.Net MVC 等)中很常见的不存在查询字符串的 URL 如何被缓存,与更传统的基于查询字符串的 url 的行为有何不同?
【问题讨论】:
标签:
model-view-controller
browser
caching
【解决方案1】:
AFAIK 浏览器没有区别,因为 Firefox 和 IE 都会(错误地)缓存来自带有查询字符串的 url 的响应,就像它们缓存来自不带查询字符串的 url 的响应一样。在 Safari 的情况下,它尊重规范并且不缓存带有查询字符串的 url。 HTTP 代理往往与他们认为可缓存的内容有点不一致。
正确设置标题是值得的,值得研究ETags。
【解决方案2】:
我相信您使用 OutputCache 属性(在您的控制器方法上)管理 ASP.NET MVC 中的缓存。